INSERT INTO TBNFE_ITEM_SALDO (
NFE_ITEM_CONTROLE,NFE_CONTROLE,QUANTIDADE,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:CONTROLE,:NFE_CONTROLE,:QUANTIDADE,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM10 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO,
REDUCAO_BASE_PISCOF)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,
:REDUCAO_BASE_PISCOF);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM11 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(500),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO,
REDUCAO_BASE_PISCOF)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,
:REDUCAO_BASE_PISCOF);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM8 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM9 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPU_NFE_ITEM (
    NFE_CONTROLE integer,
    CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    LOCALIZACAO_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NF_NATUREZA integer,
    CFOP_CODIGO varchar(5),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    VALOR_UNITARIO numeric(15,6),
    VALOR_TOTAL numeric(10,5),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(15,4),
    GC_WEB integer,
    QUANTIDADE numeric(10,5),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    VALOR_CUSTO numeric(10,5),
    OUTROS_CUSTOS numeric(15,2),
    INFORMACOES_COMPLEMENTARES varchar(500),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11))
as
BEGIN

-- UPDATE TBNFE_ITEM
UPDATE TBNFE_ITEM SET
ESTABELECIMENTO_CODIGO = :ESTABELECIMENTO_CODIGO,
EMPRESA_CODIGO = :EMPRESA_CODIGO,
PRODUTO_DESCRICAO   = :PRODUTO_DESCRICAO,
PRODUTO_UNIDADEMEDIDA = :PRODUTO_UNIDADEMEDIDA,
LOCALIZACAO_CODIGO  = :LOCALIZACAO_CODIGO,
NUMERO_NOTAFISCAL = :NUMERO_NOTAFISCAL,
DATA_ENTRADA = :DATA_ENTRADA,
NF_SITUACAO = :SITUACAO,
NF_NATUREZA = :NF_NATUREZA,
CFOP_CODIGO = :CFOP_CODIGO,
NCM_CODIGO = :NCM_CODIGO,
TRIBUTACAO_ORIGEM = :TRIBUTACAO_ORIGEM,
TRIBUTACAO_IPI = :TRIBUTACAO_IPI,
TRIBUTACAO_ICMS = :TRIBUTACAO_ICMS,
TRIBUTACAO_PIS = :TRIBUTACAO_PIS,
TRIBUTACAO_COFINS = :TRIBUTACAO_COFINS,
BASECALCULO_ICMS = :BASECALCULO_ICMS,
PERCENTUAL_ICMS = :PERCENTUAL_ICMS ,
PERCENTUAL_IPI = :PERCENTUAL_IPI,
VALOR_IPI = :VALOR_IPI,
PERCENTUAL_PIS = :PERCENTUAL_PIS,
VALOR_PIS = :VALOR_PIS,
PERCENTUAL_COFINS = :PERCENTUAL_COFINS,
VALOR_COFINS = :VALOR_COFINS,
VALOR_ICMS                = :VALOR_ICMS           ,
BASECALCULO_IPI           = :BASECALCULO_IPI      ,
BASECALCULO_PIS           = :BASECALCULO_PIS      ,
BASECALCULO_COFINS        = :BASECALCULO_COFINS   ,
VALOR_ACRESCIMO           = :VALOR_ACRESCIMO      ,
VALOR_DESCONTO            = :VALOR_DESCONTO       ,
VALOR_FRETE               = :VALOR_FRETE,
VALOR_SEGURO              = :VALOR_SEGURO,
FISCAL_ISENTAS_IPI        = :FISCAL_ISENTAS_IPI   ,
FISCAL_ISENTAS_ICMS       = :FISCAL_ISENTAS_ICMS  ,
FISCAL_OUTRAS_IPI         = :FISCAL_OUTRAS_IPI    ,
FISCAL_OUTRAS_ICMS        = :FISCAL_OUTRAS_ICMS   ,
FISCAL_VALOR_ICMS         = :FISCAL_VALOR_ICMS    ,
FISCAL_VALOR_IPI          = :FISCAL_VALOR_IPI     ,
FISCAL_VALOR_PIS          = :FISCAL_VALOR_PIS     ,
FISCAL_VALOR_COFINS       = :FISCAL_VALOR_COFINS  ,
FISCAL_PERCENTUAL_ICMS    = :FISCAL_PERCENTUAL_ICMS,
FISCAL_PERCENTUAL_IPI     = :FISCAL_PERCENTUAL_IPI ,
FISCAL_PERCENTUAL_PIS     = :FISCAL_PERCENTUAL_PIS ,
FISCAL_PERCENTUAL_COFINS  = :FISCAL_PERCENTUAL_COFINS,
FISCAL_BASECALCULO_ICMS   = :FISCAL_BASECALCULO_ICMS ,
FISCAL_BASECALCULO_IPI    = :FISCAL_BASECALCULO_IPI  ,
FISCAL_BASECALCULO_PIS    = :FISCAL_BASECALCULO_PIS  ,
FISCAL_BASECALCULO_COFINS = :FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO = :VALOR_PEDAGIO,
VALOR_CONTABIL = :VALOR_CONTABIL,
FISCAL_CFOP_CODIGO = :FISCAL_CFOP_CODIGO,
FISCAL_TRIBUTACAO_ORIGEM  = :FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS    = :FISCAL_TRIBUTACAO_ICMS,
FISCAL_TRIBUTACAO_IPI     = :FISCAL_TRIBUTACAO_IPI,
FISCAL_TRIBUTACAO_PIS     = :FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS  = :FISCAL_TRIBUTACAO_COFINS,
VALOR_UNITARIO     = :VALOR_UNITARIO,
VALOR_TOTAL        = :VALOR_TOTAL,
VALOR_BASECALCULO_ICMS = :VALOR_BASECALCULO_ICMS,
MODALIDADE_ICMS    = :MODALIDADE_ICMS,
MODALIDADE_ICMS_ST = :MODALIDADE_ICMS_ST,
MARGEM_ICMS_ST     = :MARGEM_ICMS_ST,
REDUCAO_ICMS_ST    = :REDUCAO_ICMS_ST,
BASECALCULO_ICMS_ST= :BASECALCULO_ICMS_ST,
ALIQUOTA_ICMS_ST   = :ALIQUOTA_ICMS_ST,
VALOR_ICMS_ST      = :VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST = :FISCAL_REDUCAO_ICMS_ST,
FISCAL_BASECALCULO_ICMS_ST = :FISCAL_BASECALCULO_ICMS_ST,
FISCAL_ALIQUOTA_ICMS_ST = :FISCAL_ALIQUOTA_ICMS_ST,
FISCAL_VALOR_ICMS_ST = :FISCAL_VALOR_ICMS_ST,
GC_WEB             = :GC_WEB,
QUANTIDADE         = :QUANTIDADE,
QUANTIDADE_ALTERNATIVA              = :QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA                      = :UM_ALTERNATIVA,
VALOR_ALTERNATIVO                   = :VALOR_ALTERNATIVO,
VALOR_CUSTO                         = :VALOR_CUSTO,
OUTROS_CUSTOS                       = :OUTROS_CUSTOS,
INFORMACOES_COMPLEMENTARES          = :INFORMACOES_COMPLEMENTARES,
T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20,

DI                      = :DI,
DI_DATA_REGISTRO        = :DI_DATA_REGISTRO,
DI_DATA_DESEMBARACO     = :DI_DATA_DESEMBARACO,
DI_LOCAL_DESEMBARACO    = :DI_LOCAL_DESEMBARACO,
DI_UF_DESEMBARACO       = :DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR    = :DI_CODIGO_EXPORTADOR,
DI_ADICAO               = :DI_ADICAO,
DI_SEQUENCIAL           = :DI_SEQUENCIAL,
DI_CODIGO_FABRICANTE    = :DI_CODIGO_FABRICANTE,
DI_DESCONTO_ADICAO      = :DI_DESCONTO_ADICAO,
DI_BASE_CALCULO         = :DI_BASE_CALCULO,
DI_DESPESAS_ADUANEIRAS  = :DI_DESPESAS_ADUANEIRAS,
DI_VALOR_II             = :DI_VALOR_II,
DI_VALOR_IOF            = :DI_VALOR_IOF,
DI_NVE                  = :DI_NVE,
DI_TIPO_VIA_TRANSP      = :DI_TIPO_VIA_TRANSP,
DI_VALOR_AFRMM          = :DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO      = :DI_TIPO_INTERMEDIO,
DI_CNPJ_INTERMEDIO      = :DI_CNPJ_INTERMEDIO,
DI_UF_INTERMEDIO        = :DI_UF_INTERMEDIO,
DI_NUMERO_DRAWBACK      = :DI_NUMERO_DRAWBACK

WHERE NFE_CONTROLE = :NFE_CONTROLE
  AND CONTROLE = :CONTROLE;

  UPDATE  TbNfe_Item_Saldo SET
Quantidade = :QUANTIDADE,
T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20
WHERE Nfe_Item_Controle = :CONTROLE AND Nfe_Controle = :NFE_CONTROLE;
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttboc_item_b04u for tboc_item
inactive before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(8000);
BEGIN
  
  HISTORICO = '';

    IF(NEW.SEQUENCIA <> OLD.SEQUENCIA) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Seq:'||OLD.SEQUENCIA||' -> '||NEW.SEQUENCIA;
        END
    IF(NEW.PRODUTO_CODIGO <> OLD.PRODUTO_CODIGO) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Prod.'||OLD.PRODUTO_CODIGO||' -> '||NEW.PRODUTO_CODIGO;
        END

    IF(NEW.QUANTIDADE <> OLD.QUANTIDADE) THEN
        BEGIN
           HISTORICO = HISTORICO||' Qtd:'||OLD.QUANTIDADE||' -> '||NEW.QUANTIDADE;
        END 
    IF(NEW.IPI <> OLD.IPI) THEN
        BEGIN
           HISTORICO = HISTORICO||' IPI:'||OLD.IPI||' -> '||NEW.IPI;
        END
    IF(NEW.VALOR <> OLD.VALOR) THEN
        BEGIN
           HISTORICO = HISTORICO||' Vr.Unit:'||OLD.VALOR||' -> '||NEW.VALOR;
        END
    IF(NEW.DATA_ENTREGA <> OLD.DATA_ENTREGA) THEN
        BEGIN
           HISTORICO = HISTORICO||' Prev.Entr:'||FN_DATE_TO_STRING(OLD.DATA_ENTREGA)||' -> '||FN_DATE_TO_STRING(NEW.DATA_ENTREGA);
        END
    IF(NEW.SITUACAO <> OLD.SITUACAO) THEN
        BEGIN
           HISTORICO = HISTORICO||' Sit:'||OLD.SITUACAO||' -> '||NEW.SITUACAO;
        END
    IF(NEW.T01 <> OLD.T01) THEN
        BEGIN
            HISTORICO = HISTORICO||' T01:'||OLD.T01||' -> '||NEW.T01;
        END
    IF(NEW.T02 <> OLD.T02) THEN
        BEGIN
            HISTORICO = HISTORICO||' T02:'||OLD.T02||' -> '||NEW.T02;
        END
    IF(NEW.T03 <> OLD.T03) THEN
        BEGIN
            HISTORICO = HISTORICO||' T03:'||OLD.T03||' -> '||NEW.T03;
        END
    IF(NEW.T04 <> OLD.T04) THEN
        BEGIN
            HISTORICO = HISTORICO||' T04:'||OLD.T04||' -> '||NEW.T04;
        END
    IF(NEW.T05 <> OLD.T05) THEN
        BEGIN
            HISTORICO = HISTORICO||' T05:'||OLD.T05||' -> '||NEW.T05;
        END
    IF(NEW.T06 <> OLD.T06) THEN
        BEGIN
            HISTORICO = HISTORICO||' T06:'||OLD.T06||' -> '||NEW.T06;
        END
    IF(NEW.T07 <> OLD.T07) THEN
        BEGIN
            HISTORICO = HISTORICO||' T07:'||OLD.T07||' -> '||NEW.T07;
        END
    IF(NEW.T08 <> OLD.T08) THEN
        BEGIN
            HISTORICO = HISTORICO||' T08:'||OLD.T08||' -> '||NEW.T08;
        END
    IF(NEW.T09 <> OLD.T09) THEN
        BEGIN
            HISTORICO = HISTORICO||' T09:'||OLD.T09||' -> '||NEW.T09;
        END
    IF(NEW.T10 <> OLD.T10) THEN
        BEGIN
            HISTORICO = HISTORICO||' T10:'||OLD.T10||' -> '||NEW.T10;
        END
    IF(NEW.T11 <> OLD.T11) THEN
        BEGIN
            HISTORICO = HISTORICO||' T11:'||OLD.T11||' -> '||NEW.T11;
        END
    IF(NEW.T12 <> OLD.T12) THEN
        BEGIN
            HISTORICO = HISTORICO||' T12:'||OLD.T12||' -> '||NEW.T12;
        END
    IF(NEW.T13 <> OLD.T13) THEN
        BEGIN
            HISTORICO = HISTORICO||' T13:'||OLD.T13||' -> '||NEW.T13;
        END
    IF(NEW.T14 <> OLD.T14) THEN
        BEGIN
            HISTORICO = HISTORICO||' T14:'||OLD.T14||' -> '||NEW.T14;
        END
    IF(NEW.T15 <> OLD.T15) THEN
        BEGIN
            HISTORICO = HISTORICO||' T15:'||OLD.T15||' -> '||NEW.T15;
        END
    IF(NEW.T16 <> OLD.T16) THEN
        BEGIN
            HISTORICO = HISTORICO||' T16:'||OLD.T16||' -> '||NEW.T16;
        END
    IF(NEW.T17 <> OLD.T17) THEN
        BEGIN
            HISTORICO = HISTORICO||' T17:'||OLD.T17||' -> '||NEW.T17;
        END
    IF(NEW.T18 <> OLD.T18) THEN
        BEGIN
            HISTORICO = HISTORICO||' T18:'||OLD.T18||' -> '||NEW.T18;
        END
    IF(NEW.T19 <> OLD.T19) THEN
        BEGIN
            HISTORICO = HISTORICO||' T19:'||OLD.T19||' -> '||NEW.T19;
        END
    IF(NEW.T20 <> OLD.T20) THEN
        BEGIN
            HISTORICO = HISTORICO||' T20:'||OLD.T20||' -> '||NEW.T20;
        END
    IF(NEW.OBSERVACAO <> OLD.OBSERVACAO) THEN
        BEGIN
          HISTORICO = HISTORICO||' Obs:'||OLD.OBSERVACAO||' -> '||NEW.OBSERVACAO;
        END 
    IF(NEW.DATA_SAIDA <> OLD.DATA_SAIDA) THEN
        BEGIN
          HISTORICO = HISTORICO||' Prev.Saida:'||FN_DATE_TO_STRING(OLD.DATA_SAIDA)||' -> '||FN_DATE_TO_STRING(NEW.DATA_SAIDA);
        END 
    IF(NEW.ACRESCIMO <> OLD.ACRESCIMO) THEN
        BEGIN
          HISTORICO = HISTORICO||' Vr.Acresc:'||OLD.ACRESCIMO||' -> '||NEW.ACRESCIMO;
        END 
    IF(NEW.DESCONTO <> OLD.DESCONTO) THEN
        BEGIN
          HISTORICO = HISTORICO||' Vr.Desc:'||OLD.DESCONTO||' -> '||NEW.DESCONTO;
        END 
    IF(NEW.CLASSIFICACAO_FINANCEIRA <> OLD.CLASSIFICACAO_FINANCEIRA) THEN
        BEGIN
          HISTORICO = HISTORICO||' Class.Fin:'||OLD.CLASSIFICACAO_FINANCEIRA||' -> '||NEW.CLASSIFICACAO_FINANCEIRA;
        END 
    IF(NEW.CCUSTO <> OLD.CCUSTO) THEN
        BEGIN
          HISTORICO = HISTORICO||' C.Custo:'||OLD.CCUSTO||' -> '||NEW.CCUSTO;
        END 
    IF(NEW.LOCALIZACAO_CODIGO <> OLD.LOCALIZACAO_CODIGO) THEN
        BEGIN
          HISTORICO = HISTORICO||' Loc:'||OLD.LOCALIZACAO_CODIGO||' -> '||NEW.LOCALIZACAO_CODIGO;
        END 
    IF(NEW.OPERACAO_CODIGO <> OLD.OPERACAO_CODIGO) THEN
        BEGIN
          HISTORICO = HISTORICO||' Oper.'||OLD.OPERACAO_CODIGO||' -> '||NEW.OPERACAO_CODIGO;
        END 
    IF(NEW.CONTA_CONTABIL <> OLD.CONTA_CONTABIL) THEN
        BEGIN
          HISTORICO = HISTORICO||' C.Contabil:'||OLD.CONTA_CONTABIL||' -> '||NEW.CONTA_CONTABIL;
        END 
    IF(NEW.ORCAMENTO_ID <> OLD.ORCAMENTO_ID) THEN
        BEGIN
          HISTORICO = HISTORICO||' Orcam:'||OLD.ORCAMENTO_ID||' -> '||NEW.ORCAMENTO_ID;
        END 
    IF(NEW.VALOR_REF <> OLD.VALOR_REF) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Ref:'||OLD.VALOR_REF||' -> '||NEW.VALOR_REF;
        END 
    IF(NEW.PDESCONTO <> OLD.PDESCONTO) THEN
        BEGIN
            HISTORICO = HISTORICO||' %Desc:'||OLD.PDESCONTO||' -> '||NEW.PDESCONTO;
        END 
    IF(NEW.PACRESCIMO <> OLD.PACRESCIMO) THEN
        BEGIN
            HISTORICO = HISTORICO||' %Acres:'||OLD.PACRESCIMO||' -> '||NEW.PACRESCIMO;
        END 
    IF(NEW.PERCENTUAL_ICMS <> OLD.PERCENTUAL_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %ICMS:'||OLD.PERCENTUAL_ICMS||' -> '||NEW.PERCENTUAL_ICMS;
        END 
    IF(NEW.PERCENTUAL_PIS <> OLD.PERCENTUAL_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %PIS:'||OLD.PERCENTUAL_PIS||' -> '||NEW.PERCENTUAL_PIS;
        END 
    IF(NEW.PERCENTUAL_COFINS <> OLD.PERCENTUAL_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %Cof:'||OLD.PERCENTUAL_COFINS||' -> '||NEW.PERCENTUAL_COFINS;
        END 
    IF(NEW.QUANTIDADE_ALTERNATIVA <> OLD.QUANTIDADE_ALTERNATIVA) THEN
        BEGIN
            HISTORICO = HISTORICO||' Qtd.Alt:'||OLD.QUANTIDADE_ALTERNATIVA||' -> '||NEW.QUANTIDADE_ALTERNATIVA;
        END 
    IF(NEW.UM_ALTERNATIVA <> OLD.UM_ALTERNATIVA) THEN
        BEGIN
            HISTORICO = HISTORICO||' UM.Alt:'||OLD.UM_ALTERNATIVA||' -> '||NEW.UM_ALTERNATIVA;
        END 
    IF(NEW.VALOR_ALTERNATIVO <> OLD.VALOR_ALTERNATIVO) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Unit.Alt:'||OLD.VALOR_ALTERNATIVO||' -> '||NEW.VALOR_ALTERNATIVO;
        END
    IF(NEW.TAXA_MOEDA <> OLD.TAXA_MOEDA) THEN
        BEGIN
            HISTORICO = HISTORICO||' Tx.Moeda:'||OLD.TAXA_MOEDA||' -> '||NEW.TAXA_MOEDA;
        END
    IF(NEW.VALOR_UNIT_ESTRANGEIRO <> OLD.VALOR_UNIT_ESTRANGEIRO) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Unit.Estrang.'||OLD.VALOR_UNIT_ESTRANGEIRO||' -> '||NEW.VALOR_UNIT_ESTRANGEIRO;
        END
 IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'Item alterado. (Seq.'||NEW.SEQUENCIA||') '||HISTORICO;
        HISTORICO = FN_ELIPSES(HISTORICO,500);
        EXECUTE PROCEDURE SPI_HISTORICO('TBOC', NEW.OC, HISTORICO);
    END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFS_ITEM10 (
    CONTROLE_1 integer)
returns (
    NFS_CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    GRADE_CODIGO integer,
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    CONTROLE integer,
    VALOR_CUSTO numeric(10,5),
    PRODUTO_GRADE_CODIGO integer,
    MODELO_CODIGO integer,
    TECELAGEM integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    LOCALIZACAO_DESCRICAO varchar(20),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    VOLUMES integer,
    CUBAGEM numeric(10,4),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(500),
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    ENQUADRAMENTO_IPI varchar(3),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    VBCUFDEST numeric(15,2),
    PFCPUFDEST numeric(15,2),
    PICMSUFDEST numeric(15,2),
    PICMSINTER numeric(15,2),
    VFCPUFDEST numeric(15,2),
    VICMSUFDEST numeric(15,2),
    VICMSUFREMET numeric(15,2),
    PICMSINTERPART numeric(15,2),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
begin
for select
A.NFS_CONTROLE      ,A.SEQUENCIA        ,A.OPERACAO_CODIGO      ,A.CFOP_CODIGO      ,
A.PRODUTO_CODIGO    ,A.PRODUTO_DESCRICAO,A.PRODUTO_UNIDADEMEDIDA,A.GRADE_CODIGO     ,
A.NCM_CODIGO        ,A.TRIBUTACAO_ICMS  ,A.TRIBUTACAO_IPI       ,A.TRIBUTACAO_ORIGEM,
A.LOCALIZACAO_CODIGO,A.QUANTIDADE       ,A.VALOR_UNITARIO       ,A.VALOR_TOTAL      ,
A.BASECALCULO_ICMS  ,A.PERCENTUAL_ICMS  ,A.PERCENTUAL_IPI       ,A.VALOR_IPI        ,
A.PERCENTUAL_PIS    ,A.VALOR_PIS        ,A.PERCENTUAL_COFINS    ,A.VALOR_COFINS     ,
A.NFE, A.NFE_ITEM_CONTROLE, A.NF_EXTERNO, A.NF_EXTERNO_ITEM_CONTROLE,
A.PEDIDO,A.PEDIDO_ITEM_PE_CONTROLE,
A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20,
A.ESTABELECIMENTO_CODIGO,A.EMPRESA_CODIGO,A.NUMERO_NOTAFISCAL,A.DATA_EMISSAO,
A.SITUACAO,A.CONTROLE,A.VALOR_CUSTO,
(Select First 1 E.grade_codigo  From TbProduto E Where A.Produto_Codigo = E.Codigo),
(Select First 1 E.modelo_codigo From TbProduto E Where A.Produto_Codigo = E.Codigo),
A.Tecelagem,A.tributacao_PIS, A.tributacao_cofins,
A.VALOR_ICMS,A.BASECALCULO_IPI,A.BASECALCULO_PIS,A.BASECALCULO_COFINS,

(Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo),
A.VALOR_FRETE, A.VALOR_SEGURO, A.PESO_LIQUIDO, A.PESO_BRUTO, A.VOLUMES, A.CUBAGEM,

A.VALOR_ACRESCIMO,A.VALOR_DESCONTO,A.FISCAL_ISENTAS_IPI,A.FISCAL_ISENTAS_ICMS,
A.FISCAL_OUTRAS_IPI,A.FISCAL_OUTRAS_ICMS,A.FISCAL_VALOR_ICMS,A.FISCAL_VALOR_IPI,
A.FISCAL_VALOR_PIS,A.FISCAL_VALOR_COFINS,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_BASECALCULO_IPI,A.FISCAL_BASECALCULO_PIS,A.FISCAL_BASECALCULO_COFINS,
A.VALOR_CONTABIL, A.Valor_BaseCalculo_Icms, A.FISCAL_CFOP_CODIGO,
A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,A.FISCAL_TRIBUTACAO_IPI,
A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
A.BASECALCULO_ICMS_ST, A.ALIQUOTA_ICMS_ST, A.VALOR_ICMS_ST, A.FISCAL_REDUCAO_ICMS_ST,
A.FISCAL_BASECALCULO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST, A.FISCAL_VALOR_ICMS_ST,
A.PEDIDO_CLIENTE,
A.INFORMACOES_COMPLEMENTARES, A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,

A.VBCUFDEST,
A.pFCPUFDest,
A.pICMSUFDest,
A.pICMSInter,
A.vFCPUFDest,
A.vICMSUFDest,
A.vICMSUFRemet,
A.pICMSInterPart,

QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA,
VALOR_ALTERNATIVO,
A.REDUCAO_BASE_PISCOF

From TbNfs_Item A
where (A.NFS_CONTROLE = :CONTROLE_1)
order by A.SEQUENCIA
into
    :NFS_CONTROLE      ,:SEQUENCIA        ,:OPERACAO_CODIGO      ,:CFOP_CODIGO      ,
    :PRODUTO_CODIGO    ,:PRODUTO_DESCRICAO,:PRODUTO_UNIDADEMEDIDA,:GRADE_CODIGO     ,
    :NCM_CODIGO        ,:TRIBUTACAO_ICMS  ,:TRIBUTACAO_IPI       ,:TRIBUTACAO_ORIGEM,
    :LOCALIZACAO_CODIGO,:QUANTIDADE       ,:VALOR_UNITARIO       ,:VALOR_TOTAL      ,
    :BASECALCULO_ICMS  ,:PERCENTUAL_ICMS  ,:PERCENTUAL_IPI       ,:VALOR_IPI        ,
    :PERCENTUAL_PIS    ,:VALOR_PIS        ,:PERCENTUAL_COFINS ,:VALOR_COFINS        ,
    :NFE   ,:NFE_ITEM_CONTROLE,:NF_EXTERNO        ,:NF_EXTERNO_ITEM_CONTROLE        ,
    :PEDIDO,:PEDIDO_ITEM_PE_CONTROLE,
    :T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
    :T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
    :ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,:DATA_EMISSAO,
    :SITUACAO,:CONTROLE,:VALOR_CUSTO,:PRODUTO_GRADE_CODIGO,:MODELO_CODIGO,
    :TECELAGEM,:tributacao_PIS, :tributacao_cofins,
    :VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,

    :LOCALIZACAO_DESCRICAO,
    :VALOR_FRETE, :VALOR_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :VOLUMES, :CUBAGEM,

    :VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
    :FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
    :FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
    :FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
    :FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
    :VALOR_CONTABIL,:Valor_BaseCalculo_Icms,:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,:FISCAL_TRIBUTACAO_ICMS,
    :FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,:FISCAL_TRIBUTACAO_COFINS,
    :MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
    :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST, :FISCAL_REDUCAO_ICMS_ST,
    :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
    :PEDIDO_CLIENTE,
    :INFORMACOES_COMPLEMENTARES, :Nf_Consignacao, :Nf_Consignacao_Item,
    :FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,
    :enquadramento_ipi, :ccusto, :conta_contabil,
    :VBCUFDEST,:pFCPUFDest,:pICMSUFDest,:pICMSInter,:vFCPUFDest,:vICMSUFDest,:vICMSUFRemet,:pICMSInterPart,
    :QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO, :REDUCAO_BASE_PISCOF

do suspend;
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFS_ITEM8 (
    CONTROLE_1 integer)
returns (
    NFS_CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    GRADE_CODIGO integer,
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    CONTROLE integer,
    VALOR_CUSTO numeric(10,5),
    PRODUTO_GRADE_CODIGO integer,
    MODELO_CODIGO integer,
    TECELAGEM integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    LOCALIZACAO_DESCRICAO varchar(20),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    VOLUMES integer,
    CUBAGEM numeric(10,4),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(200),
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    ENQUADRAMENTO_IPI varchar(3),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    VBCUFDEST numeric(15,2),
    PFCPUFDEST numeric(15,2),
    PICMSUFDEST numeric(15,2),
    PICMSINTER numeric(15,2),
    VFCPUFDEST numeric(15,2),
    VICMSUFDEST numeric(15,2),
    VICMSUFREMET numeric(15,2),
    PICMSINTERPART numeric(15,2),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10))
as
begin
for select
A.NFS_CONTROLE      ,A.SEQUENCIA        ,A.OPERACAO_CODIGO      ,A.CFOP_CODIGO      ,
A.PRODUTO_CODIGO    ,A.PRODUTO_DESCRICAO,A.PRODUTO_UNIDADEMEDIDA,A.GRADE_CODIGO     ,
A.NCM_CODIGO        ,A.TRIBUTACAO_ICMS  ,A.TRIBUTACAO_IPI       ,A.TRIBUTACAO_ORIGEM,
A.LOCALIZACAO_CODIGO,A.QUANTIDADE       ,A.VALOR_UNITARIO       ,A.VALOR_TOTAL      ,
A.BASECALCULO_ICMS  ,A.PERCENTUAL_ICMS  ,A.PERCENTUAL_IPI       ,A.VALOR_IPI        ,
A.PERCENTUAL_PIS    ,A.VALOR_PIS        ,A.PERCENTUAL_COFINS    ,A.VALOR_COFINS     ,
A.NFE, A.NFE_ITEM_CONTROLE, A.NF_EXTERNO, A.NF_EXTERNO_ITEM_CONTROLE,
A.PEDIDO,A.PEDIDO_ITEM_PE_CONTROLE,
A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20,
A.ESTABELECIMENTO_CODIGO,A.EMPRESA_CODIGO,A.NUMERO_NOTAFISCAL,A.DATA_EMISSAO,
A.SITUACAO,A.CONTROLE,A.VALOR_CUSTO,
(Select First 1 E.grade_codigo  From TbProduto E Where A.Produto_Codigo = E.Codigo),
(Select First 1 E.modelo_codigo From TbProduto E Where A.Produto_Codigo = E.Codigo),
A.Tecelagem,A.tributacao_PIS, A.tributacao_cofins,
A.VALOR_ICMS,A.BASECALCULO_IPI,A.BASECALCULO_PIS,A.BASECALCULO_COFINS,

(Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo),
A.VALOR_FRETE, A.VALOR_SEGURO, A.PESO_LIQUIDO, A.PESO_BRUTO, A.VOLUMES, A.CUBAGEM,

A.VALOR_ACRESCIMO,A.VALOR_DESCONTO,A.FISCAL_ISENTAS_IPI,A.FISCAL_ISENTAS_ICMS,
A.FISCAL_OUTRAS_IPI,A.FISCAL_OUTRAS_ICMS,A.FISCAL_VALOR_ICMS,A.FISCAL_VALOR_IPI,
A.FISCAL_VALOR_PIS,A.FISCAL_VALOR_COFINS,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_BASECALCULO_IPI,A.FISCAL_BASECALCULO_PIS,A.FISCAL_BASECALCULO_COFINS,
A.VALOR_CONTABIL, A.Valor_BaseCalculo_Icms, A.FISCAL_CFOP_CODIGO,
A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,A.FISCAL_TRIBUTACAO_IPI,
A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
A.BASECALCULO_ICMS_ST, A.ALIQUOTA_ICMS_ST, A.VALOR_ICMS_ST, A.FISCAL_REDUCAO_ICMS_ST,
A.FISCAL_BASECALCULO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST, A.FISCAL_VALOR_ICMS_ST,
A.PEDIDO_CLIENTE,
A.INFORMACOES_COMPLEMENTARES, A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,

A.VBCUFDEST,
A.pFCPUFDest,
A.pICMSUFDest,
A.pICMSInter,
A.vFCPUFDest,
A.vICMSUFDest,
A.vICMSUFRemet,
A.pICMSInterPart,

QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA,
VALOR_ALTERNATIVO

From TbNfs_Item A
where (A.NFS_CONTROLE = :CONTROLE_1)
order by A.SEQUENCIA
into
    :NFS_CONTROLE      ,:SEQUENCIA        ,:OPERACAO_CODIGO      ,:CFOP_CODIGO      ,
    :PRODUTO_CODIGO    ,:PRODUTO_DESCRICAO,:PRODUTO_UNIDADEMEDIDA,:GRADE_CODIGO     ,
    :NCM_CODIGO        ,:TRIBUTACAO_ICMS  ,:TRIBUTACAO_IPI       ,:TRIBUTACAO_ORIGEM,
    :LOCALIZACAO_CODIGO,:QUANTIDADE       ,:VALOR_UNITARIO       ,:VALOR_TOTAL      ,
    :BASECALCULO_ICMS  ,:PERCENTUAL_ICMS  ,:PERCENTUAL_IPI       ,:VALOR_IPI        ,
    :PERCENTUAL_PIS    ,:VALOR_PIS        ,:PERCENTUAL_COFINS ,:VALOR_COFINS        ,
    :NFE   ,:NFE_ITEM_CONTROLE,:NF_EXTERNO        ,:NF_EXTERNO_ITEM_CONTROLE        ,
    :PEDIDO,:PEDIDO_ITEM_PE_CONTROLE,
    :T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
    :T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
    :ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,:DATA_EMISSAO,
    :SITUACAO,:CONTROLE,:VALOR_CUSTO,:PRODUTO_GRADE_CODIGO,:MODELO_CODIGO,
    :TECELAGEM,:tributacao_PIS, :tributacao_cofins,
    :VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,

    :LOCALIZACAO_DESCRICAO,
    :VALOR_FRETE, :VALOR_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :VOLUMES, :CUBAGEM,

    :VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
    :FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
    :FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
    :FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
    :FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
    :VALOR_CONTABIL,:Valor_BaseCalculo_Icms,:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,:FISCAL_TRIBUTACAO_ICMS,
    :FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,:FISCAL_TRIBUTACAO_COFINS,
    :MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
    :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST, :FISCAL_REDUCAO_ICMS_ST,
    :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
    :PEDIDO_CLIENTE,
    :INFORMACOES_COMPLEMENTARES, :Nf_Consignacao, :Nf_Consignacao_Item,
    :FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,
    :enquadramento_ipi, :ccusto, :conta_contabil,
    :VBCUFDEST,:pFCPUFDest,:pICMSUFDest,:pICMSInter,:vFCPUFDest,:vICMSUFDest,:vICMSUFRemet,:pICMSInterPart,
    :QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO

do suspend;
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFS_ITEM9 (
    CONTROLE_1 integer)
returns (
    NFS_CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    GRADE_CODIGO integer,
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    CONTROLE integer,
    VALOR_CUSTO numeric(10,5),
    PRODUTO_GRADE_CODIGO integer,
    MODELO_CODIGO integer,
    TECELAGEM integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    LOCALIZACAO_DESCRICAO varchar(20),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    VOLUMES integer,
    CUBAGEM numeric(10,4),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(200),
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    ENQUADRAMENTO_IPI varchar(3),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    VBCUFDEST numeric(15,2),
    PFCPUFDEST numeric(15,2),
    PICMSUFDEST numeric(15,2),
    PICMSINTER numeric(15,2),
    VFCPUFDEST numeric(15,2),
    VICMSUFDEST numeric(15,2),
    VICMSUFREMET numeric(15,2),
    PICMSINTERPART numeric(15,2),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
begin
for select
A.NFS_CONTROLE      ,A.SEQUENCIA        ,A.OPERACAO_CODIGO      ,A.CFOP_CODIGO      ,
A.PRODUTO_CODIGO    ,A.PRODUTO_DESCRICAO,A.PRODUTO_UNIDADEMEDIDA,A.GRADE_CODIGO     ,
A.NCM_CODIGO        ,A.TRIBUTACAO_ICMS  ,A.TRIBUTACAO_IPI       ,A.TRIBUTACAO_ORIGEM,
A.LOCALIZACAO_CODIGO,A.QUANTIDADE       ,A.VALOR_UNITARIO       ,A.VALOR_TOTAL      ,
A.BASECALCULO_ICMS  ,A.PERCENTUAL_ICMS  ,A.PERCENTUAL_IPI       ,A.VALOR_IPI        ,
A.PERCENTUAL_PIS    ,A.VALOR_PIS        ,A.PERCENTUAL_COFINS    ,A.VALOR_COFINS     ,
A.NFE, A.NFE_ITEM_CONTROLE, A.NF_EXTERNO, A.NF_EXTERNO_ITEM_CONTROLE,
A.PEDIDO,A.PEDIDO_ITEM_PE_CONTROLE,
A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20,
A.ESTABELECIMENTO_CODIGO,A.EMPRESA_CODIGO,A.NUMERO_NOTAFISCAL,A.DATA_EMISSAO,
A.SITUACAO,A.CONTROLE,A.VALOR_CUSTO,
(Select First 1 E.grade_codigo  From TbProduto E Where A.Produto_Codigo = E.Codigo),
(Select First 1 E.modelo_codigo From TbProduto E Where A.Produto_Codigo = E.Codigo),
A.Tecelagem,A.tributacao_PIS, A.tributacao_cofins,
A.VALOR_ICMS,A.BASECALCULO_IPI,A.BASECALCULO_PIS,A.BASECALCULO_COFINS,

(Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo),
A.VALOR_FRETE, A.VALOR_SEGURO, A.PESO_LIQUIDO, A.PESO_BRUTO, A.VOLUMES, A.CUBAGEM,

A.VALOR_ACRESCIMO,A.VALOR_DESCONTO,A.FISCAL_ISENTAS_IPI,A.FISCAL_ISENTAS_ICMS,
A.FISCAL_OUTRAS_IPI,A.FISCAL_OUTRAS_ICMS,A.FISCAL_VALOR_ICMS,A.FISCAL_VALOR_IPI,
A.FISCAL_VALOR_PIS,A.FISCAL_VALOR_COFINS,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_BASECALCULO_IPI,A.FISCAL_BASECALCULO_PIS,A.FISCAL_BASECALCULO_COFINS,
A.VALOR_CONTABIL, A.Valor_BaseCalculo_Icms, A.FISCAL_CFOP_CODIGO,
A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,A.FISCAL_TRIBUTACAO_IPI,
A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
A.BASECALCULO_ICMS_ST, A.ALIQUOTA_ICMS_ST, A.VALOR_ICMS_ST, A.FISCAL_REDUCAO_ICMS_ST,
A.FISCAL_BASECALCULO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST, A.FISCAL_VALOR_ICMS_ST,
A.PEDIDO_CLIENTE,
A.INFORMACOES_COMPLEMENTARES, A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,

A.VBCUFDEST,
A.pFCPUFDest,
A.pICMSUFDest,
A.pICMSInter,
A.vFCPUFDest,
A.vICMSUFDest,
A.vICMSUFRemet,
A.pICMSInterPart,

QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA,
VALOR_ALTERNATIVO,
A.REDUCAO_BASE_PISCOF

From TbNfs_Item A
where (A.NFS_CONTROLE = :CONTROLE_1)
order by A.SEQUENCIA
into
    :NFS_CONTROLE      ,:SEQUENCIA        ,:OPERACAO_CODIGO      ,:CFOP_CODIGO      ,
    :PRODUTO_CODIGO    ,:PRODUTO_DESCRICAO,:PRODUTO_UNIDADEMEDIDA,:GRADE_CODIGO     ,
    :NCM_CODIGO        ,:TRIBUTACAO_ICMS  ,:TRIBUTACAO_IPI       ,:TRIBUTACAO_ORIGEM,
    :LOCALIZACAO_CODIGO,:QUANTIDADE       ,:VALOR_UNITARIO       ,:VALOR_TOTAL      ,
    :BASECALCULO_ICMS  ,:PERCENTUAL_ICMS  ,:PERCENTUAL_IPI       ,:VALOR_IPI        ,
    :PERCENTUAL_PIS    ,:VALOR_PIS        ,:PERCENTUAL_COFINS ,:VALOR_COFINS        ,
    :NFE   ,:NFE_ITEM_CONTROLE,:NF_EXTERNO        ,:NF_EXTERNO_ITEM_CONTROLE        ,
    :PEDIDO,:PEDIDO_ITEM_PE_CONTROLE,
    :T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
    :T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
    :ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,:DATA_EMISSAO,
    :SITUACAO,:CONTROLE,:VALOR_CUSTO,:PRODUTO_GRADE_CODIGO,:MODELO_CODIGO,
    :TECELAGEM,:tributacao_PIS, :tributacao_cofins,
    :VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,

    :LOCALIZACAO_DESCRICAO,
    :VALOR_FRETE, :VALOR_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :VOLUMES, :CUBAGEM,

    :VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
    :FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
    :FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
    :FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
    :FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
    :VALOR_CONTABIL,:Valor_BaseCalculo_Icms,:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,:FISCAL_TRIBUTACAO_ICMS,
    :FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,:FISCAL_TRIBUTACAO_COFINS,
    :MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
    :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST, :FISCAL_REDUCAO_ICMS_ST,
    :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
    :PEDIDO_CLIENTE,
    :INFORMACOES_COMPLEMENTARES, :Nf_Consignacao, :Nf_Consignacao_Item,
    :FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,
    :enquadramento_ipi, :ccusto, :conta_contabil,
    :VBCUFDEST,:pFCPUFDest,:pICMSUFDest,:pICMSInter,:vFCPUFDest,:vICMSUFDest,:vICMSUFRemet,:pICMSInterPart,
    :QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO, :REDUCAO_BASE_PISCOF

do suspend;
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFS_ITEM_ACUMULADO (
    CONTROLE_1 integer)
returns (
    NFS_CONTROLE integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    GRADE_CODIGO integer,
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    VALOR_CUSTO numeric(10,5),
    SEQUENCIA integer,
    CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    PRODUTO_GRADE_CODIGO integer,
    MODELO_CODIGO integer,
    TECELAGEM integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    LOCALIZACAO_DESCRICAO varchar(20),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    VOLUMES integer,
    CUBAGEM numeric(10,4),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(500),
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    ENQUADRAMENTO_IPI varchar(3),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    VBCUFDEST numeric(15,2),
    PFCPUFDEST numeric(15,2),
    PICMSUFDEST numeric(15,2),
    PICMSINTER numeric(15,2),
    VFCPUFDEST numeric(15,2),
    VICMSUFDEST numeric(15,2),
    VICMSUFREMET numeric(15,2),
    PICMSINTERPART numeric(15,2),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
FOR
Select Distinct(A.Nfs_Controle), A.Operacao_Codigo, A.Cfop_Codigo, A.Produto_Codigo,
A.Produto_Descricao, A.PRODUTO_UNIDADEMEDIDA, A.Ncm_Codigo, A.Grade_Codigo,
A.Tributacao_Icms,A.Tributacao_Ipi, A.Tributacao_Origem, A.Localizacao_Codigo,
Sum(A.Quantidade), A.Valor_Unitario, Sum(A.Valor_Total), A.BaseCalculo_Icms,
A.Percentual_Icms, A.Percentual_Ipi, Sum(A.Valor_Ipi), A.Percentual_Pis,
Sum(A.Valor_Pis), A.Percentual_Cofins, Sum(A.Valor_Cofins), A.Nfe,
A.Nfe_Item_Controle, A.Nf_Externo, A.Nf_Externo_Item_Controle,
Sum(A.T01),Sum(A.T02),Sum(A.T03),Sum(A.T04),Sum(A.T05),Sum(A.T06),Sum(A.T07),
Sum(A.T08),Sum(A.T09),Sum(A.T10),Sum(A.T11),Sum(A.T12),Sum(A.T13),Sum(A.T14),
Sum(A.T15),Sum(A.T16),Sum(A.T17),Sum(A.T18),Sum(A.T19),Sum(A.T20),
A.Estabelecimento_Codigo, A.Empresa_Codigo, A.Numero_NotaFiscal, A.Data_Emissao,
A.Situacao, A.Valor_Custo, Min(A.Sequencia),0,0,0,
Max((Select First 1 E.grade_codigo  From TbProduto E Where A.Produto_Codigo = E.Codigo)),
Max((Select First 1 E.modelo_codigo From TbProduto E Where A.Produto_Codigo = E.Codigo)),
A.Tecelagem,A.tributacao_PIS, A.Tributacao_Cofins,
SUM(A.VALOR_ICMS),SUM(A.BASECALCULO_IPI),SUM(A.BASECALCULO_PIS),SUM(A.BASECALCULO_COFINS),

Max((Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo)),
SUM(A.VALOR_FRETE), SUM(A.VALOR_SEGURO), SUM(A.PESO_LIQUIDO),
SUM(A.PESO_BRUTO), SUM(A.VOLUMES), SUM(A.CUBAGEM),

SUM(A.VALOR_ACRESCIMO),SUM(A.VALOR_DESCONTO),SUM(A.FISCAL_ISENTAS_IPI),SUM(A.FISCAL_ISENTAS_ICMS),
SUM(A.FISCAL_OUTRAS_IPI),SUM(A.FISCAL_OUTRAS_ICMS),SUM(A.FISCAL_VALOR_ICMS),SUM(A.FISCAL_VALOR_IPI),
SUM(A.FISCAL_VALOR_PIS),SUM(A.FISCAL_VALOR_COFINS),A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
SUM(A.FISCAL_BASECALCULO_IPI),SUM(A.FISCAL_BASECALCULO_PIS),SUM(A.FISCAL_BASECALCULO_COFINS),
Sum(A.VALOR_CONTABIL),Sum(A.Valor_BaseCalculo_Icms),A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,
A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
SUM(A.BASECALCULO_ICMS_ST), A.ALIQUOTA_ICMS_ST, SUM(A.VALOR_ICMS_ST),
A.FISCAL_REDUCAO_ICMS_ST, SUM(A.FISCAL_BASECALCULO_ICMS_ST),
A.FISCAL_ALIQUOTA_ICMS_ST, SUM(A.FISCAL_VALOR_ICMS_ST),

MAX(A.PEDIDO_CLIENTE), MAX(A.INFORMACOES_COMPLEMENTARES), A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,

Sum(A.VBCUFDEST),
A.pFCPUFDest,
A.pICMSUFDest,
A.pICMSInter,
Sum(A.vFCPUFDest),
Sum(A.vICMSUFDest),
Sum(A.vICMSUFRemet),
A.pICMSInterPart,

Sum(A.QUANTIDADE_ALTERNATIVA) QUANTIDADE_ALTERNATIVA,
A.UM_ALTERNATIVA,
A.VALOR_ALTERNATIVO,
REDUCAO_BASE_PISCOF

From TbNfs_Item A
Where A.Nfs_Controle > 0 and A.Nfs_Controle = :CONTROLE_1
Group By A.Nfs_Controle, A.Operacao_Codigo, A.Cfop_Codigo, A.Produto_Codigo,
A.Produto_Descricao, A.PRODUTO_UNIDADEMEDIDA, A.Ncm_Codigo, A.Grade_Codigo,
A.Tributacao_Icms, A.Tributacao_Ipi, A.Tributacao_Origem, A.Localizacao_Codigo,
A.Valor_Unitario, A.BaseCalculo_Icms, A.Percentual_Icms, A.Percentual_Ipi,
A.Percentual_Pis, A.Percentual_Cofins, A.Nfe, A.Nfe_Item_Controle, A.Nf_Externo,
A.Nf_Externo_Item_Controle, A.Estabelecimento_Codigo, A.Empresa_Codigo,
A.Numero_NotaFiscal, A.Data_Emissao, A.Situacao, A.Valor_Custo, A.Tecelagem,
A.tributacao_PIS, A.tributacao_cofins,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,
A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST,
A.REDUCAO_ICMS_ST, A.ALIQUOTA_ICMS_ST,
A.FISCAL_REDUCAO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST,
A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,
A.pFCPUFDest,A.pICMSUFDest,A.pICMSInter,A.pICMSInterPart,
A.UM_ALTERNATIVA,A.VALOR_ALTERNATIVO,REDUCAO_BASE_PISCOF


Order By 54, A.Nfs_Controle, A.Produto_Codigo
INTO
:Nfs_Controle,:Operacao_Codigo,:Cfop_Codigo,:Produto_Codigo,:Produto_Descricao,
:Produto_UnidadeMedida,:Ncm_Codigo,:Grade_Codigo,:Tributacao_Icms,:Tributacao_Ipi,
:Tributacao_Origem,:Localizacao_Codigo,:QUANTIDADE,:Valor_Unitario,:VALOR_TOTAL,
:BaseCalculo_Icms,:Percentual_Icms,:Percentual_Ipi,:VALOR_IPI,:Percentual_Pis,
:VALOR_PIS,:Percentual_Cofins,:VALOR_COFINS,:Nfe,:Nfe_Item_Controle,:Nf_Externo,
:Nf_Externo_Item_Controle,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,:Estabelecimento_Codigo,
:Empresa_Codigo,:Numero_NotaFiscal,:Data_Emissao,:Situacao,:Valor_Custo,
:Sequencia, :Controle, :Pedido, :Pedido_Item_Pe_Controle, :Produto_Grade_Codigo,
:modelo_codigo, :Tecelagem,:tributacao_PIS, :tributacao_cofins,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,

    :LOCALIZACAO_DESCRICAO,
    :VALOR_FRETE, :VALOR_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :VOLUMES, :CUBAGEM,

:VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_CONTABIL,:Valor_BaseCalculo_Icms,:FISCAL_CFOP_CODIGO,
:FISCAL_TRIBUTACAO_ORIGEM, :FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,
:FISCAL_TRIBUTACAO_PIS, :FISCAL_TRIBUTACAO_COFINS,

:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:PEDIDO_CLIENTE,
:INFORMACOES_COMPLEMENTARES, :Nf_Consignacao, :Nf_Consignacao_Item,
:FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,
:enquadramento_ipi, :ccusto, :conta_contabil,
:VBCUFDEST,:pFCPUFDest,:pICMSUFDest,:pICMSInter,:vFCPUFDest,:vICMSUFDest,:vICMSUFRemet,:pICMSInterPart,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,:REDUCAO_BASE_PISCOF

DO
SUSPEND;
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFS_ITEM_ACUMULADO2 (
    CONTROLE_1 integer)
returns (
    NFS_CONTROLE integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    GRADE_CODIGO integer,
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    VALOR_CUSTO numeric(10,5),
    SEQUENCIA integer,
    CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    PRODUTO_GRADE_CODIGO integer,
    MODELO_CODIGO integer,
    TECELAGEM integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    LOCALIZACAO_DESCRICAO varchar(20),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    VOLUMES integer,
    CUBAGEM numeric(10,4),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(500),
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    ENQUADRAMENTO_IPI varchar(3),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    VBCUFDEST numeric(15,2),
    PFCPUFDEST numeric(15,2),
    PICMSUFDEST numeric(15,2),
    PICMSINTER numeric(15,2),
    VFCPUFDEST numeric(15,2),
    VICMSUFDEST numeric(15,2),
    VICMSUFREMET numeric(15,2),
    PICMSINTERPART numeric(15,2),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
FOR
Select Distinct(A.Nfs_Controle), A.Operacao_Codigo, A.Cfop_Codigo,
A.Produto_Codigo,
Max((Select First 1 (Case When char_length(Trim(M.Descricao_Nf)) > 0 Then M.Descricao_Nf else M.Descricao End) From TbModelo M Where E.Modelo_codigo = M.Codigo)) Produto_Descricao,
A.PRODUTO_UNIDADEMEDIDA, A.Ncm_Codigo, A.Grade_Codigo,
A.Tributacao_Icms,A.Tributacao_Ipi, A.Tributacao_Origem, A.Localizacao_Codigo,
Sum(A.Quantidade), A.Valor_Unitario, Sum(A.Valor_Total), A.BaseCalculo_Icms,
A.Percentual_Icms, A.Percentual_Ipi, Sum(A.Valor_Ipi), A.Percentual_Pis,
Sum(A.Valor_Pis), A.Percentual_Cofins, Sum(A.Valor_Cofins),
A.Nfe, A.Nfe_Item_Controle, A.Nf_Externo, A.Nf_Externo_Item_Controle,

Sum(A.T01),Sum(A.T02),Sum(A.T03),Sum(A.T04),Sum(A.T05),Sum(A.T06),Sum(A.T07),
Sum(A.T08),Sum(A.T09),Sum(A.T10),Sum(A.T11),Sum(A.T12),Sum(A.T13),Sum(A.T14),
Sum(A.T15),Sum(A.T16),Sum(A.T17),Sum(A.T18),Sum(A.T19),Sum(A.T20),
A.Estabelecimento_Codigo, A.Empresa_Codigo, A.Numero_NotaFiscal, A.Data_Emissao,
A.Situacao, A.Valor_Custo, Min(A.Sequencia),0,A.PEDIDO,A.pedido_item_pe_controle,E.Grade_codigo, E.Modelo_codigo,
A.Tecelagem,A.tributacao_PIS, A.Tributacao_Cofins,

SUM(A.VALOR_ICMS),SUM(A.BASECALCULO_IPI),SUM(A.BASECALCULO_PIS),SUM(A.BASECALCULO_COFINS),
Max((Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo)),
SUM(A.VALOR_FRETE), SUM(A.VALOR_SEGURO), SUM(A.PESO_LIQUIDO),
SUM(A.PESO_BRUTO), SUM(A.VOLUMES), SUM(A.CUBAGEM),
SUM(A.VALOR_ACRESCIMO),SUM(A.VALOR_DESCONTO),SUM(A.FISCAL_ISENTAS_IPI),SUM(A.FISCAL_ISENTAS_ICMS),
SUM(A.FISCAL_OUTRAS_IPI),SUM(A.FISCAL_OUTRAS_ICMS),SUM(A.FISCAL_VALOR_ICMS),SUM(A.FISCAL_VALOR_IPI),
SUM(A.FISCAL_VALOR_PIS),SUM(A.FISCAL_VALOR_COFINS),A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
SUM(A.FISCAL_BASECALCULO_IPI),SUM(A.FISCAL_BASECALCULO_PIS),SUM(A.FISCAL_BASECALCULO_COFINS),
Sum(A.VALOR_CONTABIL),Sum(A.Valor_BaseCalculo_Icms ),A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,
A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST,
A.REDUCAO_ICMS_ST, SUM(A.BASECALCULO_ICMS_ST), A.ALIQUOTA_ICMS_ST, SUM(A.VALOR_ICMS_ST),
A.FISCAL_REDUCAO_ICMS_ST, SUM(A.FISCAL_BASECALCULO_ICMS_ST), A.FISCAL_ALIQUOTA_ICMS_ST, SUM(A.FISCAL_VALOR_ICMS_ST),

(A.PEDIDO_CLIENTE), MAX(A.INFORMACOES_COMPLEMENTARES), A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,

Sum(A.VBCUFDEST),
A.pFCPUFDest,
A.pICMSUFDest,
A.pICMSInter,
Sum(A.vFCPUFDest),
Sum(A.vICMSUFDest),
Sum(A.vICMSUFRemet),
A.pICMSInterPart,

A.QUANTIDADE_ALTERNATIVA,
A.UM_ALTERNATIVA,
A.VALOR_ALTERNATIVO,
A.REDUCAO_BASE_PISCOF

From TbNfs_Item A, TbProduto E
Where A.Produto_Codigo = E.Codigo
  and A.Nfs_Controle > 0 and A.Nfs_Controle = :CONTROLE_1

Group By A.Nfs_Controle, A.Operacao_Codigo, A.Cfop_Codigo, A.PRODUTO_CODIGO,
A.PRODUTO_UNIDADEMEDIDA, A.Ncm_Codigo, A.Grade_Codigo,
A.Tributacao_Icms, A.Tributacao_Ipi, A.Tributacao_Origem, A.Localizacao_Codigo,
A.Valor_Unitario, A.BaseCalculo_Icms, A.Percentual_Icms, A.Percentual_Ipi,
A.Percentual_Pis, A.Percentual_Cofins, A.Nfe, A.Nfe_Item_Controle, A.Nf_Externo,
A.Nf_Externo_Item_Controle, A.Estabelecimento_Codigo, A.Empresa_Codigo,
A.Numero_NotaFiscal, A.Data_Emissao, A.Situacao, A.Valor_Custo,
E.Grade_codigo, E.Modelo_codigo, A.Tecelagem,
A.tributacao_PIS, A.tributacao_cofins,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,A.FISCAL_TRIBUTACAO_ICMS,
A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,A.FISCAL_TRIBUTACAO_COFINS,
A.PEDIDO,A.PEDIDO_CLIENTE,A.pedido_item_pe_controle,
A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST,
A.REDUCAO_ICMS_ST, A.ALIQUOTA_ICMS_ST,
A.FISCAL_REDUCAO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST,
A.Nf_Consignacao, A.Nf_Consignacao_Item,
A.FCI_MENSAGEM, A.FCI_PARCELA_IMPORTACAO, A.FCI_CONTEUDO_IMPORTACAO, A.FCI_NUMERO,
A.enquadramento_ipi, A.ccusto, A.conta_contabil,
A.pFCPUFDest,A.pICMSUFDest,A.pICMSInter,A.pICMSInterPart,
A.QUANTIDADE_ALTERNATIVA, A.UM_ALTERNATIVA, A.VALOR_ALTERNATIVO, A.REDUCAO_BASE_PISCOF

Order By 54, A.Nfs_Controle, A.PRODUTO_CODIGO 
INTO
:Nfs_Controle,:Operacao_Codigo,:Cfop_Codigo,:Produto_Codigo,:Produto_Descricao,
:Produto_UnidadeMedida,:Ncm_Codigo,:Grade_Codigo,:Tributacao_Icms,:Tributacao_Ipi,
:Tributacao_Origem,:Localizacao_Codigo,:QUANTIDADE,:Valor_Unitario,:VALOR_TOTAL,
:BaseCalculo_Icms,:Percentual_Icms,:Percentual_Ipi,:VALOR_IPI,:Percentual_Pis,
:VALOR_PIS,:Percentual_Cofins,:VALOR_COFINS,:Nfe,:Nfe_Item_Controle,:Nf_Externo,
:Nf_Externo_Item_Controle,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,:Estabelecimento_Codigo,
:Empresa_Codigo,:Numero_NotaFiscal,:Data_Emissao,:Situacao,:Valor_Custo,
:Sequencia, :Controle, :Pedido, :Pedido_Item_Pe_Controle, :Produto_Grade_Codigo,
:modelo_codigo, :Tecelagem,:tributacao_PIS, :tributacao_cofins,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,

    :LOCALIZACAO_DESCRICAO,
    :VALOR_FRETE, :VALOR_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :VOLUMES, :CUBAGEM,

:VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_CONTABIL,:Valor_BaseCalculo_Icms,:FISCAL_CFOP_CODIGO,
:FISCAL_TRIBUTACAO_ORIGEM, :FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,
:FISCAL_TRIBUTACAO_PIS, :FISCAL_TRIBUTACAO_COFINS,

:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:PEDIDO_CLIENTE,
:INFORMACOES_COMPLEMENTARES, :Nf_Consignacao, :Nf_Consignacao_Item,
:FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,
:enquadramento_ipi, :ccusto, :conta_contabil,
:VBCUFDEST,:pFCPUFDest,:pICMSUFDest,:pICMSInter,:vFCPUFDest,:vICMSUFDest,
:vICMSUFRemet,:pICMSInterPart,:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA,
:VALOR_ALTERNATIVO,:REDUCAO_BASE_PISCOF

DO
SUSPEND;
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFS_ITEM (
    NFS_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    NF_NATUREZA integer,
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    TECELAGEM integer,
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    CUBAGEM numeric(10,4),
    VOLUMES integer,
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(500),
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1),
    OPERACAO_TIPO_DESCONTO varchar(1),
    GC_WEB integer,
    MARGEM numeric(10,2) = 0,
    PDV_CONFERENCIA_ITEM_ID integer = 0,
    PDV_CONFERENCIA_ID integer = 0)
as
BEGIN
INSERT INTO TBNFS_ITEM(
NFS_CONTROLE,ESTABELECIMENTO_CODIGO,EMPRESA_CODIGO,NUMERO_NOTAFISCAL,DATA_EMISSAO,NF_SITUACAO, NF_NATUREZA,
NF_CONSIGNACAO,NF_CONSIGNACAO_ITEM,NFE,NFE_ITEM_CONTROLE,PEDIDO,
PEDIDO_ITEM_PE_CONTROLE,NF_EXTERNO,NF_EXTERNO_ITEM_CONTROLE    ,
CONTROLE,SEQUENCIA,OPERACAO_CODIGO,CFOP_CODIGO,PRODUTO_CODIGO,PRODUTO_DESCRICAO           ,
PRODUTO_UNIDADEMEDIDA,NCM_CODIGO,TRIBUTACAO_ORIGEM,TRIBUTACAO_IPI,TRIBUTACAO_ICMS         ,
TRIBUTACAO_PIS,TRIBUTACAO_COFINS                                                          ,
LOCALIZACAO_CODIGO,QUANTIDADE,VALOR_UNITARIO,VALOR_TOTAL,BASECALCULO_ICMS,PERCENTUAL_ICMS ,
PERCENTUAL_IPI,VALOR_IPI,PERCENTUAL_PIS,VALOR_PIS,PERCENTUAL_COFINS,VALOR_COFINS          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,TECELAGEM,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO, VALOR_FRETE, VALOR_SEGURO, PESO_LIQUIDO, PESO_BRUTO, CUBAGEM, VOLUMES,
VALOR_DESCONTO,FISCAL_ISENTAS_IPI,FISCAL_ISENTAS_ICMS,
FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_CONTABIL, VALOR_BASECALCULO_ICMS, FISCAL_CFOP_CODIGO, FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS, FISCAL_TRIBUTACAO_IPI, FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS, MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
PEDIDO_CLIENTE, INFORMACOES_COMPLEMENTARES, FCI_MENSAGEM,
FCI_PARCELA_IMPORTACAO, FCI_CONTEUDO_IMPORTACAO, FCI_NUMERO,CCUSTO,CONTA_CONTABIL,ENQUADRAMENTO_IPI,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO, REDUCAO_BASE_PISCOF, TIPO_DESCONTO, GC_WEB, MARGEM, PDV_CONFERENCIA_ITEM_ID, PDV_CONFERENCIA_ID)
VALUES  (
:NFS_CONTROLE,:ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,
:DATA_EMISSAO,:SITUACAO,:NF_NATUREZA,:NF_CONSIGNACAO,:NF_CONSIGNACAO_ITEM,
:NFE,:NFE_ITEM_CONTROLE,:PEDIDO,:PEDIDO_ITEM_PE_CONTROLE,:NF_EXTERNO,
:NF_EXTERNO_ITEM_CONTROLE,:CONTROLE,:SEQUENCIA,:OPERACAO_CODIGO,:CFOP_CODIGO,
:PRODUTO_CODIGO,:PRODUTO_DESCRICAO,:PRODUTO_UNIDADEMEDIDA,:NCM_CODIGO,:TRIBUTACAO_ORIGEM,
:TRIBUTACAO_IPI,:TRIBUTACAO_ICMS,:TRIBUTACAO_PIS,:TRIBUTACAO_COFINS,:LOCALIZACAO_CODIGO,
:QUANTIDADE,:VALOR_UNITARIO,:VALOR_TOTAL,:BASECALCULO_ICMS,:PERCENTUAL_ICMS,
:PERCENTUAL_IPI,:VALOR_IPI,:PERCENTUAL_PIS,:VALOR_PIS,:PERCENTUAL_COFINS,
:VALOR_COFINS,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,:TECELAGEM,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO, :VALOR_FRETE, :VALOR_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :CUBAGEM, :VOLUMES,
:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_CONTABIL, :VALOR_BASECALCULO_ICMS, :FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,

:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
:BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:PEDIDO_CLIENTE, :INFORMACOES_COMPLEMENTARES,
:FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,:CCUSTO,:CONTA_CONTABIL,:ENQUADRAMENTO_IPI,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO, :REDUCAO_BASE_PISCOF, :OPERACAO_TIPO_DESCONTO, :GC_WEB, :MARGEM, :PDV_CONFERENCIA_ITEM_ID, :PDV_CONFERENCIA_ID);

INSERT INTO TBNFS_ITEM_SALDO (            
NFS_ITEM_CONTROLE,NFS_CONTROLE,QUANTIDADE,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:CONTROLE,:NFS_CONTROLE,:QUANTIDADE,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);

END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFS_ITEM7 (
    NFS_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    TECELAGEM integer,
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    CUBAGEM numeric(10,4),
    VOLUMES integer,
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(200),
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10))
as
BEGIN
INSERT INTO TbNfs_Item(
Nfs_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Emissao,Situacao,
Nf_CONSIGNACAO,Nf_CONSIGNACAO_Item,Nfe,Nfe_Item_Controle,Pedido,
Pedido_Item_PE_Controle,Nf_Externo,Nf_Externo_Item_Controle    ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,Tecelagem,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO, Valor_FRETE, Valor_SEGURO, PESO_LIQUIDO, PESO_BRUTO, CUBAGEM, VOLUMES,
VALOR_DESCONTO,FISCAL_ISENTAS_IPI,FISCAL_ISENTAS_ICMS,
FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_CONTABIL, valor_basecalculo_icms, FISCAL_CFOP_CODIGO, FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS, FISCAL_TRIBUTACAO_IPI, FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS, MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
PEDIDO_CLIENTE, INFORMACOES_COMPLEMENTARES, FCI_MENSAGEM,
FCI_PARCELA_IMPORTACAO, FCI_CONTEUDO_IMPORTACAO, FCI_NUMERO,ccusto,conta_contabil,enquadramento_ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO)
VALUES  (
:Nfs_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Emissao,:Situacao,:Nf_CONSIGNACAO,:Nf_CONSIGNACAO_Item,
:Nfe,:Nfe_Item_Controle,:Pedido,:Pedido_Item_PE_Controle,:Nf_Externo,
:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,:Tecelagem,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO, :Valor_FRETE, :Valor_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :CUBAGEM, :VOLUMES,
:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_CONTABIL, :valor_basecalculo_icms, :FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,

:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
:BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:PEDIDO_CLIENTE, :INFORMACOES_COMPLEMENTARES,
:FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,:ccusto,:conta_contabil,:enquadramento_ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO);

INSERT INTO TbNfs_Item_Saldo (            
Nfs_Item_Controle,Nfs_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfs_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);

END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFS_ITEM8 (
    NFS_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    TECELAGEM integer,
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    CUBAGEM numeric(10,4),
    VOLUMES integer,
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(200),
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
INSERT INTO TbNfs_Item(
Nfs_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Emissao,Situacao,
Nf_CONSIGNACAO,Nf_CONSIGNACAO_Item,Nfe,Nfe_Item_Controle,Pedido,
Pedido_Item_PE_Controle,Nf_Externo,Nf_Externo_Item_Controle    ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,Tecelagem,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO, Valor_FRETE, Valor_SEGURO, PESO_LIQUIDO, PESO_BRUTO, CUBAGEM, VOLUMES,
VALOR_DESCONTO,FISCAL_ISENTAS_IPI,FISCAL_ISENTAS_ICMS,
FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_CONTABIL, valor_basecalculo_icms, FISCAL_CFOP_CODIGO, FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS, FISCAL_TRIBUTACAO_IPI, FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS, MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
PEDIDO_CLIENTE, INFORMACOES_COMPLEMENTARES, FCI_MENSAGEM,
FCI_PARCELA_IMPORTACAO, FCI_CONTEUDO_IMPORTACAO, FCI_NUMERO,ccusto,conta_contabil,enquadramento_ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO, REDUCAO_BASE_PISCOF)
VALUES  (
:Nfs_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Emissao,:Situacao,:Nf_CONSIGNACAO,:Nf_CONSIGNACAO_Item,
:Nfe,:Nfe_Item_Controle,:Pedido,:Pedido_Item_PE_Controle,:Nf_Externo,
:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,:Tecelagem,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO, :Valor_FRETE, :Valor_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :CUBAGEM, :VOLUMES,
:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_CONTABIL, :valor_basecalculo_icms, :FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,

:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
:BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:PEDIDO_CLIENTE, :INFORMACOES_COMPLEMENTARES,
:FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,:ccusto,:conta_contabil,:enquadramento_ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO, :REDUCAO_BASE_PISCOF);

INSERT INTO TbNfs_Item_Saldo (            
Nfs_Item_Controle,Nfs_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfs_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);

END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFS_ITEM9 (
    NFS_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    NF_CONSIGNACAO integer,
    NF_CONSIGNACAO_ITEM integer,
    NFE integer,
    NFE_ITEM_CONTROLE integer,
    PEDIDO integer,
    PEDIDO_ITEM_PE_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    TECELAGEM integer,
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    PESO_LIQUIDO numeric(10,4),
    PESO_BRUTO numeric(10,4),
    CUBAGEM numeric(10,4),
    VOLUMES integer,
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    PEDIDO_CLIENTE varchar(15),
    INFORMACOES_COMPLEMENTARES varchar(500),
    FCI_MENSAGEM varchar(255),
    FCI_PARCELA_IMPORTACAO numeric(15,2),
    FCI_CONTEUDO_IMPORTACAO numeric(15,2),
    FCI_NUMERO varchar(40),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
INSERT INTO TbNfs_Item(
Nfs_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Emissao,Situacao,
Nf_CONSIGNACAO,Nf_CONSIGNACAO_Item,Nfe,Nfe_Item_Controle,Pedido,
Pedido_Item_PE_Controle,Nf_Externo,Nf_Externo_Item_Controle    ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,Tecelagem,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO, Valor_FRETE, Valor_SEGURO, PESO_LIQUIDO, PESO_BRUTO, CUBAGEM, VOLUMES,
VALOR_DESCONTO,FISCAL_ISENTAS_IPI,FISCAL_ISENTAS_ICMS,
FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_CONTABIL, valor_basecalculo_icms, FISCAL_CFOP_CODIGO, FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS, FISCAL_TRIBUTACAO_IPI, FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS, MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
PEDIDO_CLIENTE, INFORMACOES_COMPLEMENTARES, FCI_MENSAGEM,
FCI_PARCELA_IMPORTACAO, FCI_CONTEUDO_IMPORTACAO, FCI_NUMERO,ccusto,conta_contabil,enquadramento_ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO, REDUCAO_BASE_PISCOF)
VALUES  (
:Nfs_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Emissao,:Situacao,:Nf_CONSIGNACAO,:Nf_CONSIGNACAO_Item,
:Nfe,:Nfe_Item_Controle,:Pedido,:Pedido_Item_PE_Controle,:Nf_Externo,
:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,:Tecelagem,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO, :Valor_FRETE, :Valor_SEGURO, :PESO_LIQUIDO, :PESO_BRUTO, :CUBAGEM, :VOLUMES,
:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_CONTABIL, :valor_basecalculo_icms, :FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,

:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
:BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:PEDIDO_CLIENTE, :INFORMACOES_COMPLEMENTARES,
:FCI_MENSAGEM, :FCI_PARCELA_IMPORTACAO, :FCI_CONTEUDO_IMPORTACAO, :FCI_NUMERO,:ccusto,:conta_contabil,:enquadramento_ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO, :REDUCAO_BASE_PISCOF);

INSERT INTO TbNfs_Item_Saldo (            
Nfs_Item_Controle,Nfs_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfs_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);

END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPU_NFS_ITEM (
    NFS_CONTROLE integer,
    CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    LOCALIZACAO_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_EMISSAO date,
    SITUACAO integer,
    NF_NATUREZA integer,
    CFOP_CODIGO varchar(5),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    GC_WEB integer,
    QUANTIDADE numeric(10,5),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    INFORMACOES_COMPLEMENTARES varchar(500),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    MARGEM numeric(10,2) = 0,
    PDV_CONFERENCIA_ITEM_ID integer = 0,
    PDV_CONFERENCIA_ID integer = 0)
as
BEGIN

-- UPDATE TBNFS_ITEM
UPDATE TBNFS_ITEM SET
ESTABELECIMENTO_CODIGO              = :ESTABELECIMENTO_CODIGO,
EMPRESA_CODIGO                      = :EMPRESA_CODIGO,
PRODUTO_DESCRICAO                   = :PRODUTO_DESCRICAO,
LOCALIZACAO_CODIGO                  = :LOCALIZACAO_CODIGO,
NUMERO_NOTAFISCAL                   = :NUMERO_NOTAFISCAL,
DATA_EMISSAO                        = :DATA_EMISSAO,
NF_SITUACAO                         = :SITUACAO,
NF_NATUREZA                         = :NF_NATUREZA,
CFOP_CODIGO                         = :CFOP_CODIGO,
NCM_CODIGO                          = :NCM_CODIGO,
TRIBUTACAO_ORIGEM                   = :TRIBUTACAO_ORIGEM,
TRIBUTACAO_IPI                      = :TRIBUTACAO_IPI,
TRIBUTACAO_ICMS                     = :TRIBUTACAO_ICMS,
TRIBUTACAO_PIS                      = :TRIBUTACAO_PIS,
TRIBUTACAO_COFINS                   = :TRIBUTACAO_COFINS,
BASECALCULO_ICMS                    = :BASECALCULO_ICMS,
PERCENTUAL_ICMS                     = :PERCENTUAL_ICMS ,
PERCENTUAL_IPI                      = :PERCENTUAL_IPI,
VALOR_IPI                           = :VALOR_IPI,
PERCENTUAL_PIS                      = :PERCENTUAL_PIS,
VALOR_PIS                           = :VALOR_PIS,
PERCENTUAL_COFINS                   = :PERCENTUAL_COFINS,
VALOR_COFINS                        = :VALOR_COFINS,
VALOR_ICMS                          = :VALOR_ICMS           ,
BASECALCULO_IPI                     = :BASECALCULO_IPI      ,
BASECALCULO_PIS                     = :BASECALCULO_PIS      ,
BASECALCULO_COFINS                  = :BASECALCULO_COFINS   ,
VALOR_ACRESCIMO                     = :VALOR_ACRESCIMO      ,
VALOR_DESCONTO                      = :VALOR_DESCONTO       ,
VALOR_FRETE                         = :VALOR_FRETE,
VALOR_SEGURO                        = :VALOR_SEGURO,
FISCAL_ISENTAS_IPI                  = :FISCAL_ISENTAS_IPI   ,
FISCAL_ISENTAS_ICMS                 = :FISCAL_ISENTAS_ICMS  ,
FISCAL_OUTRAS_IPI                   = :FISCAL_OUTRAS_IPI    ,
FISCAL_OUTRAS_ICMS                  = :FISCAL_OUTRAS_ICMS   ,
FISCAL_VALOR_ICMS                   = :FISCAL_VALOR_ICMS    ,
FISCAL_VALOR_IPI                    = :FISCAL_VALOR_IPI     ,
FISCAL_VALOR_PIS                    = :FISCAL_VALOR_PIS     ,
FISCAL_VALOR_COFINS                 = :FISCAL_VALOR_COFINS  ,
FISCAL_PERCENTUAL_ICMS              = :FISCAL_PERCENTUAL_ICMS,
FISCAL_PERCENTUAL_IPI               = :FISCAL_PERCENTUAL_IPI ,
FISCAL_PERCENTUAL_PIS               = :FISCAL_PERCENTUAL_PIS ,
FISCAL_PERCENTUAL_COFINS            = :FISCAL_PERCENTUAL_COFINS,
FISCAL_BASECALCULO_ICMS             = :FISCAL_BASECALCULO_ICMS ,
FISCAL_BASECALCULO_IPI              = :FISCAL_BASECALCULO_IPI  ,
FISCAL_BASECALCULO_PIS              = :FISCAL_BASECALCULO_PIS  ,
FISCAL_BASECALCULO_COFINS           = :FISCAL_BASECALCULO_COFINS,
VALOR_CONTABIL                      = :VALOR_CONTABIL,
FISCAL_CFOP_CODIGO                  = :FISCAL_CFOP_CODIGO,
FISCAL_TRIBUTACAO_ORIGEM            = :FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS              = :FISCAL_TRIBUTACAO_ICMS,
FISCAL_TRIBUTACAO_IPI               = :FISCAL_TRIBUTACAO_IPI,
FISCAL_TRIBUTACAO_PIS               = :FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS            = :FISCAL_TRIBUTACAO_COFINS,
VALOR_UNITARIO                      = :VALOR_UNITARIO,
VALOR_TOTAL                         = :VALOR_TOTAL,
VALOR_BASECALCULO_ICMS              = :VALOR_BASECALCULO_ICMS,
MODALIDADE_ICMS                     = :MODALIDADE_ICMS,
MODALIDADE_ICMS_ST                  = :MODALIDADE_ICMS_ST,
MARGEM_ICMS_ST                      = :MARGEM_ICMS_ST,
REDUCAO_ICMS_ST                     = :REDUCAO_ICMS_ST,
BASECALCULO_ICMS_ST                 = :BASECALCULO_ICMS_ST,
ALIQUOTA_ICMS_ST                    = :ALIQUOTA_ICMS_ST,
VALOR_ICMS_ST                       = :VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST              = :FISCAL_REDUCAO_ICMS_ST,
FISCAL_BASECALCULO_ICMS_ST          = :FISCAL_BASECALCULO_ICMS_ST,
FISCAL_ALIQUOTA_ICMS_ST             = :FISCAL_ALIQUOTA_ICMS_ST,
FISCAL_VALOR_ICMS_ST                = :FISCAL_VALOR_ICMS_ST,
GC_WEB                              = :GC_WEB,
QUANTIDADE                          = :QUANTIDADE,
QUANTIDADE_ALTERNATIVA              = :QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA                      = :UM_ALTERNATIVA,
VALOR_ALTERNATIVO                   = :VALOR_ALTERNATIVO,
INFORMACOES_COMPLEMENTARES          = :INFORMACOES_COMPLEMENTARES,
MARGEM                              = :MARGEM,
PDV_CONFERENCIA_ITEM_ID             = :PDV_CONFERENCIA_ITEM_ID,
PDV_CONFERENCIA_ID                  = :PDV_CONFERENCIA_ID,

T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20


WHERE NFS_CONTROLE = :NFS_CONTROLE
  AND CONTROLE = :CONTROLE;

UPDATE  TBNFS_ITEM_SALDO SET
QUANTIDADE = :QUANTIDADE,
T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20
WHERE NFS_ITEM_CONTROLE = :CONTROLE AND NFS_CONTROLE = :NFS_CONTROLE;
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbnfs_item_b08u for tbnfs_item
inactive before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(8000);
BEGIN
  
  HISTORICO = '';
    
    IF(NEW.SEQUENCIA <> OLD.SEQUENCIA) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Seq:'||OLD.SEQUENCIA||' -> '||NEW.SEQUENCIA;
        END                  
    IF(NEW.OPERACAO_CODIGO <> OLD.OPERACAO_CODIGO) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' Oper:'||OLD.OPERACAO_CODIGO||' -> '||NEW.OPERACAO_CODIGO;
        END                  
    IF(NEW.CFOP_CODIGO <> OLD.CFOP_CODIGO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' CFOP:'||OLD.CFOP_CODIGO||' -> '||NEW.CFOP_CODIGO;
        END                  
    IF(NEW.PRODUTO_CODIGO <> OLD.PRODUTO_CODIGO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' ID.Prod:'||OLD.PRODUTO_CODIGO||' -> '||NEW.PRODUTO_CODIGO;
        END                  
    IF(NEW.PRODUTO_DESCRICAO <> OLD.PRODUTO_DESCRICAO) THEN
        BEGIN                                        
            HISTORICO = HISTORICO||' Desc.Prod:'||OLD.PRODUTO_DESCRICAO||' -> '||NEW.PRODUTO_DESCRICAO;
        END                      
    IF(NEW.PRODUTO_UNIDADEMEDIDA <> OLD.PRODUTO_UNIDADEMEDIDA) THEN
        BEGIN                                        
            HISTORICO = HISTORICO||' UM:'||OLD.PRODUTO_UNIDADEMEDIDA||' -> '||NEW.PRODUTO_UNIDADEMEDIDA;
        END                      
    IF(NEW.NCM_CODIGO <> OLD.NCM_CODIGO) THEN
        BEGIN                                  
            HISTORICO = HISTORICO||' NCM:'||OLD.NCM_CODIGO||' -> '||NEW.NCM_CODIGO;
        END                
    IF(NEW.TRIBUTACAO_ICMS <> OLD.TRIBUTACAO_ICMS) THEN
        BEGIN                                  
            HISTORICO = HISTORICO||' CST ICMS:'||OLD.TRIBUTACAO_ICMS||' -> '||NEW.TRIBUTACAO_ICMS;
        END                
    IF(NEW.TRIBUTACAO_IPI <> OLD.TRIBUTACAO_IPI) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' CST IPI:'||OLD.TRIBUTACAO_IPI||' -> '||NEW.TRIBUTACAO_IPI;
        END
    IF(NEW.TRIBUTACAO_ORIGEM <> OLD.TRIBUTACAO_ORIGEM) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' CST Orig:'||OLD.TRIBUTACAO_ORIGEM||' -> '||NEW.TRIBUTACAO_ORIGEM;
        END
    IF(NEW.LOCALIZACAO_CODIGO <> OLD.LOCALIZACAO_CODIGO) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' Loc.:'||OLD.LOCALIZACAO_CODIGO||' -> '||NEW.LOCALIZACAO_CODIGO;
        END
    IF(NEW.QUANTIDADE <> OLD.QUANTIDADE) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Qtd:'||OLD.QUANTIDADE||' -> '||NEW.QUANTIDADE;
        END               
    IF(NEW.VALOR_UNITARIO <> OLD.VALOR_UNITARIO) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Vr.Unit:'||OLD.VALOR_UNITARIO||' -> '||NEW.VALOR_UNITARIO;
        END               
    IF(NEW.VALOR_TOTAL <> OLD.VALOR_TOTAL) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Total:'||OLD.VALOR_TOTAL||' -> '||NEW.VALOR_TOTAL;
        END
    IF(NEW.BASECALCULO_ICMS <> OLD.BASECALCULO_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Bs.Calc.ICMS:'||OLD.BASECALCULO_ICMS||' -> '||NEW.BASECALCULO_ICMS;
        END
    IF(NEW.PERCENTUAL_ICMS <> OLD.PERCENTUAL_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %ICMS:'||OLD.PERCENTUAL_ICMS||' -> '||NEW.PERCENTUAL_ICMS;
        END
    IF(NEW.PERCENTUAL_IPI <> OLD.PERCENTUAL_IPI) THEN
        BEGIN             
            HISTORICO = HISTORICO||' %IPI:'||OLD.PERCENTUAL_IPI||' -> '||NEW.PERCENTUAL_IPI;
        END               
    IF(NEW.VALOR_IPI <> OLD.VALOR_IPI) THEN
        BEGIN             
            HISTORICO = HISTORICO||' Vr.IPI:'||OLD.VALOR_IPI||' -> '||NEW.VALOR_IPI;
        END               
    IF(NEW.PERCENTUAL_PIS <> OLD.PERCENTUAL_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %PIS:'||OLD.PERCENTUAL_PIS||' -> '||NEW.PERCENTUAL_PIS;
        END
    IF(NEW.VALOR_PIS <> OLD.VALOR_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.PIS:'||OLD.VALOR_PIS||' -> '||NEW.VALOR_PIS;
        END
    IF(NEW.PERCENTUAL_COFINS <> OLD.PERCENTUAL_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %COF:'||OLD.PERCENTUAL_COFINS||' -> '||NEW.PERCENTUAL_COFINS;
        END
    IF(NEW.VALOR_COFINS <> OLD.VALOR_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Cof:'||OLD.VALOR_COFINS||' -> '||NEW.VALOR_COFINS;
        END
    IF(NEW.NFE <> OLD.NFE) THEN
        BEGIN
            HISTORICO = HISTORICO||' NF.Ref:'||OLD.NFE||' -> '||NEW.NFE;
        END
    IF(NEW.NFE_ITEM_CONTROLE <> OLD.NFE_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' ID.Nf.Ref:'||OLD.NFE_ITEM_CONTROLE||' -> '||NEW.NFE_ITEM_CONTROLE;
        END
    IF(NEW.NF_EXTERNO <> OLD.NF_EXTERNO) THEN
        BEGIN
            HISTORICO = HISTORICO||' NF.Ref:'||OLD.NF_EXTERNO||' -> '||NEW.NF_EXTERNO;
        END
    IF(NEW.NF_EXTERNO_ITEM_CONTROLE <> OLD.NF_EXTERNO_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' ID.NF.Ref:' ||OLD.NF_EXTERNO_ITEM_CONTROLE||' -> '||NEW.NF_EXTERNO_ITEM_CONTROLE;
        END
    IF(NEW.PEDIDO <> OLD.PEDIDO) THEN
        BEGIN
            HISTORICO = HISTORICO||' Ped:'||OLD.PEDIDO||' -> '||NEW.PEDIDO;
        END
    IF(NEW.PEDIDO_ITEM_CONTROLE <> OLD.PEDIDO_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' ID.Ped.Item:'||OLD.PEDIDO_ITEM_CONTROLE||' -> '||NEW.PEDIDO_ITEM_CONTROLE;
        END
    IF(NEW.PEDIDO_ITEM_PE_CONTROLE <> OLD.PEDIDO_ITEM_PE_CONTROLE) THEN
        BEGIN                        
            HISTORICO = HISTORICO||' ID.Ped.Item:'||OLD.PEDIDO_ITEM_PE_CONTROLE||' -> '||NEW.PEDIDO_ITEM_PE_CONTROLE;
        END                          
    IF(NEW.PEDIDO_PROC_ITEM_CONTROLE <> OLD.PEDIDO_PROC_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' ID.Ped.Item:'||OLD.PEDIDO_PROC_ITEM_CONTROLE||' -> '||NEW.PEDIDO_PROC_ITEM_CONTROLE;
        END
    IF(NEW.T01 <> OLD.T01) THEN
        BEGIN
            HISTORICO = HISTORICO||' T01:'||OLD.T01||' -> '||NEW.T01;
        END
    IF(NEW.T02 <> OLD.T02) THEN
        BEGIN
            HISTORICO = HISTORICO||' T02:'||OLD.T02||' -> '||NEW.T02;
        END
    IF(NEW.T03 <> OLD.T03) THEN
        BEGIN
            HISTORICO = HISTORICO||' T03:'||OLD.T03||' -> '||NEW.T03;
        END
    IF(NEW.T04 <> OLD.T04) THEN
        BEGIN
            HISTORICO = HISTORICO||' T04:'||OLD.T04||' -> '||NEW.T04;
        END
    IF(NEW.T05 <> OLD.T05) THEN
        BEGIN
            HISTORICO = HISTORICO||' T05:'||OLD.T05||' -> '||NEW.T05;
        END
    IF(NEW.T06 <> OLD.T06) THEN
        BEGIN
            HISTORICO = HISTORICO||' T06:'||OLD.T06||' -> '||NEW.T06;
        END
    IF(NEW.T07 <> OLD.T07) THEN
        BEGIN
            HISTORICO = HISTORICO||' T07:'||OLD.T07||' -> '||NEW.T07;
        END
    IF(NEW.T08 <> OLD.T08) THEN
        BEGIN
            HISTORICO = HISTORICO||' T08:'||OLD.T08||' -> '||NEW.T08;
        END
    IF(NEW.T09 <> OLD.T09) THEN
        BEGIN
            HISTORICO = HISTORICO||' T09:'||OLD.T09||' -> '||NEW.T09;
        END
    IF(NEW.T10 <> OLD.T10) THEN
        BEGIN
            HISTORICO = HISTORICO||' T10:'||OLD.T10||' -> '||NEW.T10;
        END
    IF(NEW.T11 <> OLD.T11) THEN
        BEGIN
            HISTORICO = HISTORICO||' T11:'||OLD.T11||' -> '||NEW.T11;
        END
    IF(NEW.T12 <> OLD.T12) THEN
        BEGIN
            HISTORICO = HISTORICO||' T12:'||OLD.T12||' -> '||NEW.T12;
        END
    IF(NEW.T13 <> OLD.T13) THEN
        BEGIN
            HISTORICO = HISTORICO||' T13:'||OLD.T13||' -> '||NEW.T13;
        END
    IF(NEW.T14 <> OLD.T14) THEN
        BEGIN
            HISTORICO = HISTORICO||' T14:'||OLD.T14||' -> '||NEW.T14;
        END
    IF(NEW.T15 <> OLD.T15) THEN
        BEGIN
            HISTORICO = HISTORICO||' T15:'||OLD.T15||' -> '||NEW.T15;
        END
    IF(NEW.T16 <> OLD.T16) THEN
        BEGIN
            HISTORICO = HISTORICO||' T16:'||OLD.T16||' -> '||NEW.T16;
        END
    IF(NEW.T17 <> OLD.T17) THEN
        BEGIN
            HISTORICO = HISTORICO||' T17:'||OLD.T17||' -> '||NEW.T17;
        END
    IF(NEW.T18 <> OLD.T18) THEN
        BEGIN
            HISTORICO = HISTORICO||' T18:'||OLD.T18||' -> '||NEW.T18;
        END
    IF(NEW.T19 <> OLD.T19) THEN
        BEGIN
            HISTORICO = HISTORICO||' T19:'||OLD.T19||' -> '||NEW.T19;
        END
    IF(NEW.T20 <> OLD.T20) THEN
        BEGIN
            HISTORICO = HISTORICO||' T20:'||OLD.T20||' -> '||NEW.T20;
        END
    IF(NEW.ESTABELECIMENTO_CODIGO <> OLD.ESTABELECIMENTO_CODIGO) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Est:'||OLD.ESTABELECIMENTO_CODIGO||' -> '||NEW.ESTABELECIMENTO_CODIGO;
        END                    
    IF(NEW.EMPRESA_CODIGO <> OLD.EMPRESA_CODIGO) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Emp:'||OLD.EMPRESA_CODIGO||' -> '||NEW.EMPRESA_CODIGO;
        END                  
    IF(NEW.NUMERO_NOTAFISCAL <> OLD.NUMERO_NOTAFISCAL and OLD.NUMERO_NOTAFISCAL > 0) THEN
        BEGIN                
            HISTORICO = HISTORICO||' NF:'||OLD.NUMERO_NOTAFISCAL||' -> '||NEW.NUMERO_NOTAFISCAL;
        END                  
    IF(NEW.DATA_EMISSAO <> OLD.DATA_EMISSAO) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Dt.Emissao:'||FN_DATE_TO_STRING(OLD.DATA_EMISSAO)||' -> '||FN_DATE_TO_STRING(NEW.DATA_EMISSAO);
        END                  
--    IF(NEW.SITUACAO <> OLD.SITUACAO) THEN
--        BEGIN
--            HISTORICO = HISTORICO||' Sit:'||OLD.SITUACAO||' -> '||NEW.SITUACAO;
--        END
    IF(NEW.VALOR_CUSTO <> OLD.VALOR_CUSTO) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Vr.Custo:'||OLD.VALOR_CUSTO||' -> '||NEW.VALOR_CUSTO;
        END                  
    IF(NEW.TECELAGEM <> OLD.TECELAGEM) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Tecel:'||OLD.TECELAGEM||' -> '||NEW.TECELAGEM;
        END                  
    IF(NEW.TRIBUTACAO_PIS <> OLD.TRIBUTACAO_PIS) THEN
        BEGIN 
            HISTORICO = HISTORICO||' CST.PIS:'||OLD.TRIBUTACAO_PIS||' -> '||NEW.TRIBUTACAO_PIS;
        END                    
    IF(NEW.TRIBUTACAO_COFINS <> OLD.TRIBUTACAO_COFINS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' CST.Conf:'||OLD.TRIBUTACAO_COFINS||' -> '||NEW.TRIBUTACAO_COFINS;
        END                    
    IF(NEW.VALOR_ICMS <> OLD.VALOR_ICMS) THEN
        BEGIN              
            HISTORICO = HISTORICO||' VR.ICMS:'||OLD.VALOR_ICMS||' -> '||NEW.VALOR_ICMS;
        END                
    IF(NEW.BASECALCULO_IPI <> OLD.BASECALCULO_IPI) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Bs.Calc.IPI:'||OLD.BASECALCULO_IPI||' -> '||NEW.BASECALCULO_IPI;
        END                
    IF(NEW.BASECALCULO_PIS <> OLD.BASECALCULO_PIS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Bs.Calc.PIS:'||OLD.BASECALCULO_PIS||' -> '||NEW.BASECALCULO_PIS;
        END                    
    IF(NEW.BASECALCULO_COFINS  <> OLD.BASECALCULO_COFINS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Bs.Calc.Cof:'||OLD.BASECALCULO_COFINS||' -> '||NEW.BASECALCULO_COFINS;
        END                    
    IF(NEW.VALOR_ACRESCIMO <> OLD.VALOR_ACRESCIMO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' VR.Acresc:'||OLD.VALOR_ACRESCIMO||' -> '||NEW.VALOR_ACRESCIMO;
        END                
    IF(NEW.VALOR_DESCONTO <> OLD.VALOR_DESCONTO) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' VR.Desc:'||OLD.VALOR_DESCONTO||' -> '||NEW.VALOR_DESCONTO;
        END                    
    IF(NEW.FISCAL_ISENTAS_IPI  <> OLD.FISCAL_ISENTAS_IPI) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Isen.IPI:'||OLD.FISCAL_ISENTAS_IPI||' -> '||NEW.FISCAL_ISENTAS_IPI;
        END                    
    IF(NEW.FISCAL_ISENTAS_ICMS <> OLD.FISCAL_ISENTAS_ICMS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Isen.ICMS:'||OLD.FISCAL_ISENTAS_ICMS||' -> '||NEW.FISCAL_ISENTAS_ICMS;
        END                    
    IF(NEW.FISCAL_OUTRAS_IPI <> OLD.FISCAL_OUTRAS_IPI) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Out.IPI:'||OLD.FISCAL_OUTRAS_IPI||' -> '||NEW.FISCAL_OUTRAS_IPI;
        END                    
    IF(NEW.FISCAL_OUTRAS_ICMS <> OLD.FISCAL_OUTRAS_ICMS) THEN
        BEGIN                 
            HISTORICO = HISTORICO||' Fisc.Out.ICMS:'||OLD.FISCAL_OUTRAS_ICMS||' -> '||NEW.FISCAL_OUTRAS_ICMS;
        END                   
    IF(NEW.FISCAL_VALOR_ICMS <> OLD.FISCAL_VALOR_ICMS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.VR.ICMS:'||OLD.FISCAL_VALOR_ICMS||' -> '||NEW.FISCAL_VALOR_ICMS;
        END                    
    IF(NEW.FISCAL_VALOR_IPI <> OLD.FISCAL_VALOR_IPI) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.VR.IPI:'||OLD.FISCAL_VALOR_IPI||' -> '||NEW.FISCAL_VALOR_IPI;
        END                 
    IF(NEW.FISCAL_VALOR_PIS <> OLD.FISCAL_VALOR_PIS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.VR.PIS:'||OLD.FISCAL_VALOR_PIS||' -> '||NEW.FISCAL_VALOR_PIS;
        END                    
    IF(NEW.FISCAL_VALOR_COFINS <> OLD.FISCAL_VALOR_COFINS) THEN
        BEGIN   
            HISTORICO = HISTORICO||' Fisc.VR.Cof:'||OLD.FISCAL_VALOR_COFINS||' -> '||NEW.FISCAL_VALOR_COFINS;
        END                       
    IF(NEW.FISCAL_PERCENTUAL_ICMS <> OLD.FISCAL_PERCENTUAL_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.%.Icms:'||OLD.FISCAL_PERCENTUAL_ICMS||' -> '||NEW.FISCAL_PERCENTUAL_ICMS;
        END                       
    IF(NEW.FISCAL_PERCENTUAL_IPI  <> OLD.FISCAL_PERCENTUAL_IPI) THEN
        BEGIN                     
            HISTORICO = HISTORICO||' Fisc.%.IPI:'||OLD.FISCAL_PERCENTUAL_IPI||' -> '||NEW.FISCAL_PERCENTUAL_IPI;
        END                       
    IF(NEW.FISCAL_PERCENTUAL_PIS  <> OLD.FISCAL_PERCENTUAL_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.%.PIS:'||OLD.FISCAL_PERCENTUAL_PIS||' -> '||NEW.FISCAL_PERCENTUAL_PIS;
        END
    IF(NEW.FISCAL_PERCENTUAL_COFINS <> OLD.FISCAL_PERCENTUAL_COFINS) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Fisc.%.Cof:'||OLD.FISCAL_PERCENTUAL_COFINS||' -> '||NEW.FISCAL_PERCENTUAL_COFINS;
        END                         
    IF(NEW.FISCAL_BASECALCULO_ICMS <> OLD.FISCAL_BASECALCULO_ICMS) THEN
        BEGIN                           
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.ICMS:'||OLD.FISCAL_BASECALCULO_ICMS||' -> '||NEW.FISCAL_BASECALCULO_ICMS;
        END                         
    IF(NEW.FISCAL_BASECALCULO_IPI <> OLD.FISCAL_BASECALCULO_IPI) THEN
        BEGIN                           
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.IPI:'||OLD.FISCAL_BASECALCULO_IPI||' -> '||NEW.FISCAL_BASECALCULO_IPI;
        END                         
    IF(NEW.FISCAL_BASECALCULO_PIS <> OLD.FISCAL_BASECALCULO_PIS) THEN
        BEGIN    
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.PIS:'||OLD.FISCAL_BASECALCULO_PIS||' -> '||NEW.FISCAL_BASECALCULO_PIS;
        END
    IF(NEW.FISCAL_BASECALCULO_COFINS  <> OLD.FISCAL_BASECALCULO_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.Cof:'||OLD.FISCAL_BASECALCULO_COFINS||' -> '||NEW.FISCAL_BASECALCULO_COFINS;
        END
    IF(NEW.FISCAL_TRIBUTACAO_ORIGEM <> OLD.FISCAL_TRIBUTACAO_ORIGEM) THEN
        BEGIN           
            HISTORICO = HISTORICO||' Fisc.CST.Orig:'||OLD.FISCAL_TRIBUTACAO_ORIGEM||' -> '||NEW.FISCAL_TRIBUTACAO_ORIGEM;
        END                         
    IF(NEW.FISCAL_TRIBUTACAO_ICMS <> OLD.FISCAL_TRIBUTACAO_ICMS) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.CST.ICMS:'||OLD.FISCAL_TRIBUTACAO_ICMS||' -> '||NEW.FISCAL_TRIBUTACAO_ICMS;
        END                         
    IF(NEW.FISCAL_TRIBUTACAO_IPI <> OLD.FISCAL_TRIBUTACAO_IPI) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.CST.IPI:'||OLD.FISCAL_TRIBUTACAO_IPI||' -> '||NEW.FISCAL_TRIBUTACAO_IPI;
        END                      
    IF(NEW.FISCAL_TRIBUTACAO_PIS <> OLD.FISCAL_TRIBUTACAO_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.CST.PIS:'||OLD.FISCAL_TRIBUTACAO_PIS||' -> '||NEW.FISCAL_TRIBUTACAO_PIS;
        END                         
    IF(NEW.FISCAL_TRIBUTACAO_COFINS <> OLD.FISCAL_TRIBUTACAO_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.CST.Cof:'||OLD.FISCAL_TRIBUTACAO_COFINS||' -> '||NEW.FISCAL_TRIBUTACAO_COFINS;
        END                         
    IF(NEW.FISCAL_CFOP_CODIGO <> OLD.FISCAL_CFOP_CODIGO) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.CFOP:'||OLD.FISCAL_CFOP_CODIGO||' -> '||NEW.FISCAL_CFOP_CODIGO;
        END                   
    IF(NEW.VALOR_CONTABIL <> OLD.VALOR_CONTABIL) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Cont:'||OLD.VALOR_CONTABIL||' -> '||NEW.VALOR_CONTABIL;
        END
    IF(NEW.DESCONTO_BASECALCULO_ICMS <> OLD.DESCONTO_BASECALCULO_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Desc.Bs.Calc.Cof:'||OLD.DESCONTO_BASECALCULO_ICMS||' -> '||NEW.DESCONTO_BASECALCULO_ICMS;
        END
    IF(NEW.VALOR_BASECALCULO_ICMS <> OLD.VALOR_BASECALCULO_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Bs.Calc.ICMS:'||OLD.VALOR_BASECALCULO_ICMS||' -> '||NEW.VALOR_BASECALCULO_ICMS;
        END
    IF(NEW.MODALIDADE_ICMS <> OLD.MODALIDADE_ICMS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Mod.ICMS:'||OLD.MODALIDADE_ICMS||' -> '||NEW.MODALIDADE_ICMS;
        END                    
    IF(NEW.MODALIDADE_ICMS_ST <> OLD.MODALIDADE_ICMS_ST) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Mod.ICMS.St:'||OLD.MODALIDADE_ICMS_ST||' -> '||NEW.MODALIDADE_ICMS_ST;
        END                    
    IF(NEW.MARGEM_ICMS_ST <> OLD.MARGEM_ICMS_ST) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Marg.ICMS.St:'||OLD.MARGEM_ICMS_ST||' -> '||NEW.MARGEM_ICMS_ST;
        END                
    IF(NEW.REDUCAO_ICMS_ST <> OLD.REDUCAO_ICMS_ST) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Red.ICMS.St:'||OLD.REDUCAO_ICMS_ST||' -> '||NEW.REDUCAO_ICMS_ST;
        END                    
    IF(NEW.BASECALCULO_ICMS_ST <> OLD.BASECALCULO_ICMS_ST) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Bs.Calc.ICMS.St:'||OLD.BASECALCULO_ICMS_ST||' -> '||NEW.BASECALCULO_ICMS_ST;
        END                    
    IF(NEW.ALIQUOTA_ICMS_ST <> OLD.ALIQUOTA_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' %ICMS.St:'||OLD.ALIQUOTA_ICMS_ST||' -> '||NEW.ALIQUOTA_ICMS_ST;
        END                 
    IF(NEW.VALOR_ICMS_ST <> OLD.VALOR_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Vr.ICMS.St:'||OLD.VALOR_ICMS_ST||' -> '||NEW.VALOR_ICMS_ST;
        END                 
    IF(NEW.PEDIDO_CLIENTE <> OLD.PEDIDO_CLIENTE) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Ped.Cliente:'||OLD.PEDIDO_CLIENTE||' -> '||NEW.PEDIDO_CLIENTE;
        END
    IF(NEW.INFORMACOES_COMPLEMENTARES <> OLD.INFORMACOES_COMPLEMENTARES) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Inf.Comp:'||OLD.INFORMACOES_COMPLEMENTARES||' -> '||NEW.INFORMACOES_COMPLEMENTARES;
        END
    IF(NEW.NF_CONSIGNACAO <> OLD.NF_CONSIGNACAO) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' NF.Consig:'||OLD.NF_CONSIGNACAO||' -> '||NEW.NF_CONSIGNACAO;
        END                    
    IF(NEW.NF_CONSIGNACAO_ITEM <> OLD.NF_CONSIGNACAO_ITEM) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Vl.Consig.item:'||OLD.NF_CONSIGNACAO_ITEM||' -> '||NEW.NF_CONSIGNACAO_ITEM;
        END                    
    IF(NEW.FCI_MENSAGEM <> OLD.FCI_MENSAGEM) THEN
        BEGIN                                     
            HISTORICO = HISTORICO||' Fci.Mensg:'||OLD.FCI_MENSAGEM||' -> '||NEW.FCI_MENSAGEM;
        END                        
    IF(NEW.FCI_PARCELA_IMPORTACAO <> OLD.FCI_PARCELA_IMPORTACAO) THEN
        BEGIN                                     
            HISTORICO = HISTORICO||' FCI.Parc.Imp:'||OLD.FCI_PARCELA_IMPORTACAO||' -> '||NEW.FCI_PARCELA_IMPORTACAO;
        END                        
    IF(NEW.FCI_CONTEUDO_IMPORTACAO <> OLD.FCI_CONTEUDO_IMPORTACAO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' FCI.Cont.Imp:'||OLD.FCI_CONTEUDO_IMPORTACAO||' -> '||NEW.FCI_CONTEUDO_IMPORTACAO;
        END
    IF(NEW.FCI_NUMERO <> OLD.FCI_NUMERO) THEN
        BEGIN                      
            HISTORICO = HISTORICO||' Nr.FCI:'||OLD.FCI_NUMERO||' -> '||NEW.FCI_NUMERO;
        END             
    IF(NEW.VALOR_FRETE <> OLD.VALOR_FRETE) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Vr.Frete:'||OLD.VALOR_FRETE||' -> '||NEW.VALOR_FRETE;
        END             
    IF(NEW.VALOR_SEGURO <> OLD.VALOR_SEGURO) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Vr.Seg:'||OLD.VALOR_SEGURO||' -> '||NEW.VALOR_SEGURO;
        END             
    IF(NEW.PESO_LIQUIDO <> OLD.PESO_LIQUIDO) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Peso Liq:'||OLD.PESO_LIQUIDO||' -> '||NEW.PESO_LIQUIDO;
        END             
    IF(NEW.PESO_BRUTO <> OLD.PESO_BRUTO) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Peso Brt:'||OLD.PESO_BRUTO||' -> '||NEW.PESO_BRUTO;
        END             
    IF(NEW.VOLUMES <> OLD.VOLUMES) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Vol:'||OLD.VOLUMES||' -> '||NEW.VOLUMES;
        END             
    IF(NEW.CUBAGEM <> OLD.CUBAGEM) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Cub:'||OLD.CUBAGEM||' -> '||NEW.CUBAGEM;
        END
    IF(NEW.FISCAL_REDUCAO_ICMS_ST <> OLD.FISCAL_REDUCAO_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Red.ICMS.St:'||OLD.FISCAL_REDUCAO_ICMS_ST||' -> '||NEW.FISCAL_REDUCAO_ICMS_ST;
        END
    IF(NEW.FISCAL_BASECALCULO_ICMS_ST <> OLD.FISCAL_BASECALCULO_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Bs.ICMS.St:'||OLD.FISCAL_BASECALCULO_ICMS_ST||' -> '||NEW.FISCAL_BASECALCULO_ICMS_ST;
        END
    IF(NEW.FISCAL_ALIQUOTA_ICMS_ST <> OLD.FISCAL_ALIQUOTA_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.%ICMS.St:'||OLD.FISCAL_ALIQUOTA_ICMS_ST||' -> '||NEW.FISCAL_ALIQUOTA_ICMS_ST;
        END
    IF(NEW.FISCAL_VALOR_ICMS_ST <> OLD.FISCAL_VALOR_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Vr.ICMS.St:'||OLD.FISCAL_VALOR_ICMS_ST||' -> '||NEW.FISCAL_VALOR_ICMS_ST;
        END
    IF(NEW.EXP_NUMERO_DRAWBACK <> OLD.EXP_NUMERO_DRAWBACK) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Exp.Num.Drawbck:'||OLD.EXP_NUMERO_DRAWBACK||' -> '||NEW.EXP_NUMERO_DRAWBACK;
        END                    
    IF(NEW.EXP_NUMERO_RE <> OLD.EXP_NUMERO_RE) THEN
        BEGIN                            
            HISTORICO = HISTORICO||' Exp.Num.Re:'||OLD.EXP_NUMERO_RE||' -> '||NEW.EXP_NUMERO_RE;
        END               
    IF(NEW.EXP_CHAVE <> OLD.EXP_CHAVE) THEN
        BEGIN                            
            HISTORICO = HISTORICO||' Exp.Chave:'||OLD.EXP_CHAVE||' -> '||NEW.EXP_CHAVE;
        END               
    IF(NEW.EXP_QUANTIDADE <> OLD.EXP_QUANTIDADE) THEN
        BEGIN                            
            HISTORICO = HISTORICO||' Exp.QTD:'||OLD.EXP_QUANTIDADE||' -> '||NEW.EXP_QUANTIDADE;
        END               
    IF(NEW.CONTA_CONTABIL <> OLD.CONTA_CONTABIL) THEN
        BEGIN                            
            HISTORICO = HISTORICO||' C.Contab:'||OLD.CONTA_CONTABIL||' -> '||NEW.CONTA_CONTABIL;
        END               
    IF(NEW.CCUSTO <> OLD.CCUSTO) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' C.Custo:'||OLD.CCUSTO||' -> '||NEW.CCUSTO;
        END                    
    IF(NEW.ENQUADRAMENTO_IPI <> OLD.ENQUADRAMENTO_IPI) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Enqrd.IPI:'||OLD.ENQUADRAMENTO_IPI||' -> '||NEW.ENQUADRAMENTO_IPI;
        END                    
    IF(NEW.VALOR_FRETE_RATEADO <> OLD.VALOR_FRETE_RATEADO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Vr.Frete.Rat:'||OLD.VALOR_FRETE_RATEADO||' -> '||NEW.VALOR_FRETE_RATEADO;
        END
    IF(NEW.VBCUFDEST <> OLD.VBCUFDEST) THEN
        BEGIN                         
            HISTORICO = HISTORICO||' VBCUFDEST:'||OLD.VBCUFDEST||' -> '||NEW.VBCUFDEST;
        END            
    IF(NEW.PFCPUFDEST <> OLD.PFCPUFDEST) THEN
        BEGIN                         
            HISTORICO = HISTORICO||' PFCPUFDEST:'||OLD.PFCPUFDEST||' -> '||NEW.PFCPUFDEST;
        END            
    IF(NEW.PICMSUFDEST <> OLD.PICMSUFDEST) THEN
        BEGIN                         
            HISTORICO = HISTORICO||' PICMSUFDEST:'||OLD.PICMSUFDEST||' -> '||NEW.PICMSUFDEST;
        END            
    IF(NEW.PICMSINTER <> OLD.PICMSINTER) THEN
        BEGIN                         
            HISTORICO = HISTORICO||' PICMSINTER:'||OLD.PICMSINTER||' -> '||NEW.PICMSINTER;
        END            
    IF(NEW.VFCPUFDEST <> OLD.VFCPUFDEST) THEN
        BEGIN                         
            HISTORICO = HISTORICO||' VFCPUFDEST:'||OLD.VFCPUFDEST||' -> '||NEW.VFCPUFDEST;
        END            
    IF(NEW.VICMSUFDEST <> OLD.VICMSUFDEST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' VICMSUFDEST:'||OLD.VICMSUFDEST||' -> '||NEW.VICMSUFDEST;
        END
    IF(NEW.VICMSUFREMET <> OLD.VICMSUFREMET) THEN
        BEGIN               
            HISTORICO = HISTORICO||' VICMSUFREMET:'||OLD.VICMSUFREMET||' -> '||NEW.VICMSUFREMET;
        END
    IF(NEW.PICMSINTERPART<> OLD.PICMSINTERPART) THEN
        BEGIN               
            HISTORICO = HISTORICO||' PICMSINTERPART:'||OLD.PICMSINTERPART||' -> '||NEW.PICMSINTERPART;
        END
    IF(NEW.TAMANHO <> OLD.TAMANHO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Tam:'||OLD.TAMANHO||' -> '||NEW.TAMANHO;
        END
    IF(NEW.QUANTIDADE_ALTERNATIVA <> OLD.QUANTIDADE_ALTERNATIVA) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Qtd.Altern:'||OLD.QUANTIDADE_ALTERNATIVA||' -> '||NEW.QUANTIDADE_ALTERNATIVA;
        END                       
    IF(NEW.UM_ALTERNATIVA <> OLD.UM_ALTERNATIVA) THEN
        BEGIN                               
            HISTORICO = HISTORICO||' UM.Altern:'||OLD.UM_ALTERNATIVA||' -> '||NEW.UM_ALTERNATIVA;
        END                  
    IF(NEW.VALOR_ALTERNATIVO <> OLD.VALOR_ALTERNATIVO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Vr.Altern:'||OLD.VALOR_ALTERNATIVO||' -> '||NEW.VALOR_ALTERNATIVO;
        END                       
    IF(NEW.CUSTO_FRETE_RATEADO <> OLD.CUSTO_FRETE_RATEADO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Custo Frete.Rat:'||OLD.CUSTO_FRETE_RATEADO||' -> '||NEW.CUSTO_FRETE_RATEADO;
        END                       
    IF(NEW.MARGEM <> OLD.MARGEM) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Margem:'||OLD.MARGEM||' -> '||NEW.MARGEM;
        END                       
    IF(NEW.REDUCAO_BASE_PISCOF <> OLD.REDUCAO_BASE_PISCOF) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Red.Bs.PisCof:'||OLD.REDUCAO_BASE_PISCOF||' -> '||NEW.REDUCAO_BASE_PISCOF;
        END
    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'Item:'||new.SEQUENCIA||' alterado. '||HISTORICO;
        HISTORICO = FN_ELIPSES(HISTORICO,500);
        EXECUTE PROCEDURE SPI_HISTORICO('TBNFS', NEW.NFS_CONTROLE, HISTORICO);
    END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFE_ITEM10 (
    CONTROLE_1 integer)
returns (
    NFE_CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    GRADE_CODIGO integer,
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    LOCALIZACAO_DESCRICAO varchar(20),
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    CONTROLE integer,
    VALOR_CUSTO numeric(10,5),
    PRODUTO_GRADE_CODIGO integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    DESCONTO_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_TIPO_VIA_TRANSP_DESCRICAO varchar(30),
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_TIPO_INTERMEDIO_DESCRICAO varchar(30),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CONTA_CONTABIL varchar(11),
    CCUSTO varchar(8),
    CCUSTO_DESCRICAO varchar(130),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
begin
for select
A.NFe_CONTROLE      ,A.SEQUENCIA        ,A.OPERACAO_CODIGO      ,A.CFOP_CODIGO ,
A.PRODUTO_CODIGO    ,A.PRODUTO_DESCRICAO,A.PRODUTO_UNIDADEMEDIDA,A.GRADE_CODIGO,
A.NCM_CODIGO        ,A.TRIBUTACAO_ICMS  ,A.TRIBUTACAO_IPI       ,A.TRIBUTACAO_ORIGEM,
A.LOCALIZACAO_CODIGO,(Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo),
A.QUANTIDADE        ,A.VALOR_UNITARIO       ,A.VALOR_TOTAL      ,
A.BASECALCULO_ICMS  ,A.PERCENTUAL_ICMS  ,A.PERCENTUAL_IPI       ,A.VALOR_IPI   ,
A.PERCENTUAL_PIS    ,A.VALOR_PIS        ,A.PERCENTUAL_COFINS    ,A.VALOR_COFINS,
A.VALOR_FRETE, A.VALOR_SEGURO, A.NFs, A.NFs_ITEM_CONTROLE,A.NF_EXTERNO ,
A.NF_EXTERNO_ITEM_CONTROLE, A.OC,A.OC_ITEM_CONTROLE,
A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20,
A.ESTABELECIMENTO_CODIGO,A.EMPRESA_CODIGO,A.NUMERO_NOTAFISCAL,A.DATA_ENTRADA,
A.SITUACAO,A.CONTROLE,A.VALOR_CUSTO,
(Select First 1 B.GRADE_CODIGO From TbProduto B Where A.Produto_Codigo = B.Codigo),
A.tributacao_PIS, A.tributacao_cofins,A.DI,A.DI_DATA_REGISTRO,A.DI_DATA_DESEMBARACO,
A.DI_LOCAL_DESEMBARACO,A.DI_UF_DESEMBARACO,A.DI_CODIGO_EXPORTADOR,A.DI_ADICAO,
A.DI_SEQUENCIAL,A.DI_CODIGO_FABRICANTE,A.DI_DESCONTO_ADICAO,
A.di_base_calculo,A.di_despesas_aduaneiras,A.di_valor_ii,A.di_valor_iof,
A.VALOR_ICMS,A.BASECALCULO_IPI,A.BASECALCULO_PIS,A.BASECALCULO_COFINS,
A.VALOR_ACRESCIMO,A.VALOR_DESCONTO,A.FISCAL_ISENTAS_IPI,A.FISCAL_ISENTAS_ICMS,
A.FISCAL_OUTRAS_IPI,A.FISCAL_OUTRAS_ICMS,A.FISCAL_VALOR_ICMS,A.FISCAL_VALOR_IPI,
A.FISCAL_VALOR_PIS,A.FISCAL_VALOR_COFINS,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_BASECALCULO_IPI,A.FISCAL_BASECALCULO_PIS,A.FISCAL_BASECALCULO_COFINS,
A.VALOR_CONTABIL, A.valor_basecalculo_icms, A.VALOR_PEDAGIO, A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,
A.FISCAL_TRIBUTACAO_ICMS,A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,
A.FISCAL_TRIBUTACAO_COFINS, A.DESCONTO_BASECALCULO_ICMS, A.BASECALCULO_FCI, A.Codigo_Fci,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
A.BASECALCULO_ICMS_ST, A.ALIQUOTA_ICMS_ST, A.VALOR_ICMS_ST,A.FISCAL_REDUCAO_ICMS_ST,
A.FISCAL_BASECALCULO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST, A.FISCAL_VALOR_ICMS_ST,

A.INFORMACOES_COMPLEMENTARES, A.DI_NVE,
A.DI_TIPO_VIA_TRANSP, IIF(A.DI_TIPO_VIA_TRANSP=1,'Maritima',
                      IIF(A.DI_TIPO_VIA_TRANSP=2,'Fluvial',
                      IIF(A.DI_TIPO_VIA_TRANSP=3,'Lacustre',
                      IIF(A.DI_TIPO_VIA_TRANSP=4,'Aerea',
                      IIF(A.DI_TIPO_VIA_TRANSP=5,'Postal',
                      IIF(A.DI_TIPO_VIA_TRANSP=6,'Ferroviaria',
                      IIF(A.DI_TIPO_VIA_TRANSP=7,'Rodoviaria',
                      IIF(A.DI_TIPO_VIA_TRANSP=8,'Conduto/Rd.Trnsm',
                      IIF(A.DI_TIPO_VIA_TRANSP=9,'Meios Proprios',
                      IIF(A.DI_TIPO_VIA_TRANSP=10,'Entr/Saida ficta','')))))))))),
A.DI_VALOR_AFRMM,
A.DI_TIPO_INTERMEDIO, IIF(A.DI_TIPO_INTERMEDIO='1','Imp.Conta Propria',
                      IIF(A.DI_TIPO_INTERMEDIO='2','Imp.Conta e Ordem',
                      IIF(A.DI_TIPO_INTERMEDIO='3','Imp.por Encomenda',''))),
A.DI_CNPJ_INTERMEDIO, A.DI_UF_INTERMEDIO, A.DI_NUMERO_DRAWBACK, A.Conta_Contabil, A.CCusto,

IIF(char_length(A.CCusto)=2,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 2)),
IIF(char_length(A.CCusto)=5,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 2))||' - '||
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 5)),
IIF(char_length(A.CCusto)=8,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 5))||' - '||
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 8)),''))) CCUSTO_DESCRICAO,

A.ENQUADRAMENTO_IPI,
A.QUANTIDADE_ALTERNATIVA, A.UM_ALTERNATIVA, A.VALOR_ALTERNATIVO, A.REDUCAO_BASE_PISCOF

From TbNfE_Item A
Where (A.NFE_CONTROLE = :CONTROLE_1)
order by A.SEQUENCIA
into
    :NFE_CONTROLE      ,:SEQUENCIA        , :OPERACAO_CODIGO, :CFOP_CODIGO,
    :PRODUTO_CODIGO    ,:PRODUTO_DESCRICAO, :PRODUTO_UNIDADEMEDIDA,:GRADE_CODIGO,
    :NCM_CODIGO        ,:TRIBUTACAO_ICMS  , :TRIBUTACAO_IPI, :TRIBUTACAO_ORIGEM,
    :LOCALIZACAO_CODIGO,:LOCALIZACAO_DESCRICAO,
    :QUANTIDADE       , :VALOR_UNITARIO, :VALOR_TOTAL,
    :BASECALCULO_ICMS, :PERCENTUAL_ICMS   , :PERCENTUAL_IPI, :VALOR_IPI,
    :PERCENTUAL_PIS, :VALOR_PIS, :PERCENTUAL_COFINS ,:VALOR_COFINS,
    :VALOR_FRETE, :VALOR_SEGURO, :NFS,
    :NFS_ITEM_CONTROLE,:NF_EXTERNO, :NF_EXTERNO_ITEM_CONTROLE, :OC,:OC_ITEM_CONTROLE,
    :T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
    :T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
    :ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,:DATA_ENTRADA,
    :SITUACAO,:CONTROLE,:VALOR_CUSTO,:PRODUTO_GRADE_CODIGO,:tributacao_PIS,
    :tributacao_cofins, :DI, :DI_DATA_REGISTRO, :DI_DATA_DESEMBARACO,
    :DI_LOCAL_DESEMBARACO, :DI_UF_DESEMBARACO, :DI_CODIGO_EXPORTADOR,
    :DI_ADICAO, :DI_SEQUENCIAL, :DI_CODIGO_FABRICANTE, :DI_DESCONTO_ADICAO,
    :di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:Di_valor_iof,
    :VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
    :VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
    :FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
    :FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
    :FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
    :FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
    :VALOR_CONTABIL,:valor_basecalculo_icms, :VALOR_PEDAGIO,:FISCAL_CFOP_CODIGO,
    :FISCAL_TRIBUTACAO_ORIGEM, :FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,
    :FISCAL_TRIBUTACAO_PIS, :FISCAL_TRIBUTACAO_COFINS , :DESCONTO_BASECALCULO_ICMS,
    :BASECALCULO_FCI, :Codigo_Fci,

    :MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
    :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,:FISCAL_REDUCAO_ICMS_ST,
    :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
    :INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP,
    :DI_TIPO_VIA_TRANSP_DESCRICAO, :DI_VALOR_AFRMM, :DI_TIPO_INTERMEDIO,
    :DI_TIPO_INTERMEDIO_DESCRICAO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO,
    :DI_NUMERO_DRAWBACK, :Conta_Contabil, :CCusto, :CCUSTO_DESCRICAO, :ENQUADRAMENTO_IPI,
    :QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,:REDUCAO_BASE_PISCOF


do suspend;
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFE_ITEM11 (
    CONTROLE_1 integer)
returns (
    NFE_CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    GRADE_CODIGO integer,
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    LOCALIZACAO_DESCRICAO varchar(20),
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    CONTROLE integer,
    VALOR_CUSTO numeric(10,5),
    PRODUTO_GRADE_CODIGO integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    DESCONTO_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(500),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_TIPO_VIA_TRANSP_DESCRICAO varchar(30),
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_TIPO_INTERMEDIO_DESCRICAO varchar(30),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CONTA_CONTABIL varchar(11),
    CCUSTO varchar(8),
    CCUSTO_DESCRICAO varchar(130),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
begin
for select
A.NFe_CONTROLE      ,A.SEQUENCIA        ,A.OPERACAO_CODIGO      ,A.CFOP_CODIGO ,
A.PRODUTO_CODIGO    ,A.PRODUTO_DESCRICAO,A.PRODUTO_UNIDADEMEDIDA,A.GRADE_CODIGO,
A.NCM_CODIGO        ,A.TRIBUTACAO_ICMS  ,A.TRIBUTACAO_IPI       ,A.TRIBUTACAO_ORIGEM,
A.LOCALIZACAO_CODIGO,(Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo),
A.QUANTIDADE        ,A.VALOR_UNITARIO       ,A.VALOR_TOTAL      ,
A.BASECALCULO_ICMS  ,A.PERCENTUAL_ICMS  ,A.PERCENTUAL_IPI       ,A.VALOR_IPI   ,
A.PERCENTUAL_PIS    ,A.VALOR_PIS        ,A.PERCENTUAL_COFINS    ,A.VALOR_COFINS,
A.VALOR_FRETE, A.VALOR_SEGURO, A.NFs, A.NFs_ITEM_CONTROLE,A.NF_EXTERNO ,
A.NF_EXTERNO_ITEM_CONTROLE, A.OC,A.OC_ITEM_CONTROLE,
A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20,
A.ESTABELECIMENTO_CODIGO,A.EMPRESA_CODIGO,A.NUMERO_NOTAFISCAL,A.DATA_ENTRADA,
A.SITUACAO,A.CONTROLE,A.VALOR_CUSTO,
(Select First 1 B.GRADE_CODIGO From TbProduto B Where A.Produto_Codigo = B.Codigo),
A.tributacao_PIS, A.tributacao_cofins,A.DI,A.DI_DATA_REGISTRO,A.DI_DATA_DESEMBARACO,
A.DI_LOCAL_DESEMBARACO,A.DI_UF_DESEMBARACO,A.DI_CODIGO_EXPORTADOR,A.DI_ADICAO,
A.DI_SEQUENCIAL,A.DI_CODIGO_FABRICANTE,A.DI_DESCONTO_ADICAO,
A.di_base_calculo,A.di_despesas_aduaneiras,A.di_valor_ii,A.di_valor_iof,
A.VALOR_ICMS,A.BASECALCULO_IPI,A.BASECALCULO_PIS,A.BASECALCULO_COFINS,
A.VALOR_ACRESCIMO,A.VALOR_DESCONTO,A.FISCAL_ISENTAS_IPI,A.FISCAL_ISENTAS_ICMS,
A.FISCAL_OUTRAS_IPI,A.FISCAL_OUTRAS_ICMS,A.FISCAL_VALOR_ICMS,A.FISCAL_VALOR_IPI,
A.FISCAL_VALOR_PIS,A.FISCAL_VALOR_COFINS,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_BASECALCULO_IPI,A.FISCAL_BASECALCULO_PIS,A.FISCAL_BASECALCULO_COFINS,
A.VALOR_CONTABIL, A.valor_basecalculo_icms, A.VALOR_PEDAGIO, A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,
A.FISCAL_TRIBUTACAO_ICMS,A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,
A.FISCAL_TRIBUTACAO_COFINS, A.DESCONTO_BASECALCULO_ICMS, A.BASECALCULO_FCI, A.Codigo_Fci,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
A.BASECALCULO_ICMS_ST, A.ALIQUOTA_ICMS_ST, A.VALOR_ICMS_ST,A.FISCAL_REDUCAO_ICMS_ST,
A.FISCAL_BASECALCULO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST, A.FISCAL_VALOR_ICMS_ST,

A.INFORMACOES_COMPLEMENTARES, A.DI_NVE,
A.DI_TIPO_VIA_TRANSP, IIF(A.DI_TIPO_VIA_TRANSP=1,'Maritima',
                      IIF(A.DI_TIPO_VIA_TRANSP=2,'Fluvial',
                      IIF(A.DI_TIPO_VIA_TRANSP=3,'Lacustre',
                      IIF(A.DI_TIPO_VIA_TRANSP=4,'Aerea',
                      IIF(A.DI_TIPO_VIA_TRANSP=5,'Postal',
                      IIF(A.DI_TIPO_VIA_TRANSP=6,'Ferroviaria',
                      IIF(A.DI_TIPO_VIA_TRANSP=7,'Rodoviaria',
                      IIF(A.DI_TIPO_VIA_TRANSP=8,'Conduto/Rd.Trnsm',
                      IIF(A.DI_TIPO_VIA_TRANSP=9,'Meios Proprios',
                      IIF(A.DI_TIPO_VIA_TRANSP=10,'Entr/Saida ficta','')))))))))),
A.DI_VALOR_AFRMM,
A.DI_TIPO_INTERMEDIO, IIF(A.DI_TIPO_INTERMEDIO='1','Imp.Conta Propria',
                      IIF(A.DI_TIPO_INTERMEDIO='2','Imp.Conta e Ordem',
                      IIF(A.DI_TIPO_INTERMEDIO='3','Imp.por Encomenda',''))),
A.DI_CNPJ_INTERMEDIO, A.DI_UF_INTERMEDIO, A.DI_NUMERO_DRAWBACK, A.Conta_Contabil, A.CCusto,

IIF(char_length(A.CCusto)=2,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 2)),
IIF(char_length(A.CCusto)=5,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 2))||' - '||
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 5)),
IIF(char_length(A.CCusto)=8,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 5))||' - '||
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 8)),''))) CCUSTO_DESCRICAO,

A.ENQUADRAMENTO_IPI,
A.QUANTIDADE_ALTERNATIVA, A.UM_ALTERNATIVA, A.VALOR_ALTERNATIVO, A.REDUCAO_BASE_PISCOF

From TbNfE_Item A
Where (A.NFE_CONTROLE = :CONTROLE_1)
order by A.SEQUENCIA
into
    :NFE_CONTROLE      ,:SEQUENCIA        , :OPERACAO_CODIGO, :CFOP_CODIGO,
    :PRODUTO_CODIGO    ,:PRODUTO_DESCRICAO, :PRODUTO_UNIDADEMEDIDA,:GRADE_CODIGO,
    :NCM_CODIGO        ,:TRIBUTACAO_ICMS  , :TRIBUTACAO_IPI, :TRIBUTACAO_ORIGEM,
    :LOCALIZACAO_CODIGO,:LOCALIZACAO_DESCRICAO,
    :QUANTIDADE       , :VALOR_UNITARIO, :VALOR_TOTAL,
    :BASECALCULO_ICMS, :PERCENTUAL_ICMS   , :PERCENTUAL_IPI, :VALOR_IPI,
    :PERCENTUAL_PIS, :VALOR_PIS, :PERCENTUAL_COFINS ,:VALOR_COFINS,
    :VALOR_FRETE, :VALOR_SEGURO, :NFS,
    :NFS_ITEM_CONTROLE,:NF_EXTERNO, :NF_EXTERNO_ITEM_CONTROLE, :OC,:OC_ITEM_CONTROLE,
    :T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
    :T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
    :ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,:DATA_ENTRADA,
    :SITUACAO,:CONTROLE,:VALOR_CUSTO,:PRODUTO_GRADE_CODIGO,:tributacao_PIS,
    :tributacao_cofins, :DI, :DI_DATA_REGISTRO, :DI_DATA_DESEMBARACO,
    :DI_LOCAL_DESEMBARACO, :DI_UF_DESEMBARACO, :DI_CODIGO_EXPORTADOR,
    :DI_ADICAO, :DI_SEQUENCIAL, :DI_CODIGO_FABRICANTE, :DI_DESCONTO_ADICAO,
    :di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:Di_valor_iof,
    :VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
    :VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
    :FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
    :FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
    :FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
    :FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
    :VALOR_CONTABIL,:valor_basecalculo_icms, :VALOR_PEDAGIO,:FISCAL_CFOP_CODIGO,
    :FISCAL_TRIBUTACAO_ORIGEM, :FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,
    :FISCAL_TRIBUTACAO_PIS, :FISCAL_TRIBUTACAO_COFINS , :DESCONTO_BASECALCULO_ICMS,
    :BASECALCULO_FCI, :Codigo_Fci,

    :MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
    :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,:FISCAL_REDUCAO_ICMS_ST,
    :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
    :INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP,
    :DI_TIPO_VIA_TRANSP_DESCRICAO, :DI_VALOR_AFRMM, :DI_TIPO_INTERMEDIO,
    :DI_TIPO_INTERMEDIO_DESCRICAO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO,
    :DI_NUMERO_DRAWBACK, :Conta_Contabil, :CCusto, :CCUSTO_DESCRICAO, :ENQUADRAMENTO_IPI,
    :QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,:REDUCAO_BASE_PISCOF


do suspend;
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPC_NFE_ITEM9 (
    CONTROLE_1 integer)
returns (
    NFE_CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    GRADE_CODIGO integer,
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ORIGEM integer,
    LOCALIZACAO_CODIGO integer,
    LOCALIZACAO_DESCRICAO varchar(20),
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    CONTROLE integer,
    VALOR_CUSTO numeric(10,5),
    PRODUTO_GRADE_CODIGO integer,
    TRIBUTACAO_PIS varchar(2),
    TRIBUTACAO_COFINS varchar(2),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    DESCONTO_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_TIPO_VIA_TRANSP_DESCRICAO varchar(30),
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_TIPO_INTERMEDIO_DESCRICAO varchar(30),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CONTA_CONTABIL varchar(11),
    CCUSTO varchar(8),
    CCUSTO_DESCRICAO varchar(130),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10))
as
begin
for select
A.NFe_CONTROLE      ,A.SEQUENCIA        ,A.OPERACAO_CODIGO      ,A.CFOP_CODIGO ,
A.PRODUTO_CODIGO    ,A.PRODUTO_DESCRICAO,A.PRODUTO_UNIDADEMEDIDA,A.GRADE_CODIGO,
A.NCM_CODIGO        ,A.TRIBUTACAO_ICMS  ,A.TRIBUTACAO_IPI       ,A.TRIBUTACAO_ORIGEM,
A.LOCALIZACAO_CODIGO,(Select First 1 L.Descricao From TbLocalizacao L Where A.Localizacao_Codigo = L.Codigo),
A.QUANTIDADE        ,A.VALOR_UNITARIO       ,A.VALOR_TOTAL      ,
A.BASECALCULO_ICMS  ,A.PERCENTUAL_ICMS  ,A.PERCENTUAL_IPI       ,A.VALOR_IPI   ,
A.PERCENTUAL_PIS    ,A.VALOR_PIS        ,A.PERCENTUAL_COFINS    ,A.VALOR_COFINS,
A.VALOR_FRETE, A.VALOR_SEGURO, A.NFs, A.NFs_ITEM_CONTROLE,A.NF_EXTERNO ,
A.NF_EXTERNO_ITEM_CONTROLE, A.OC,A.OC_ITEM_CONTROLE,
A.T01,A.T02,A.T03,A.T04,A.T05,A.T06,A.T07,A.T08,A.T09,A.T10,
A.T11,A.T12,A.T13,A.T14,A.T15,A.T16,A.T17,A.T18,A.T19,A.T20,
A.ESTABELECIMENTO_CODIGO,A.EMPRESA_CODIGO,A.NUMERO_NOTAFISCAL,A.DATA_ENTRADA,
A.SITUACAO,A.CONTROLE,A.VALOR_CUSTO,
(Select First 1 B.GRADE_CODIGO From TbProduto B Where A.Produto_Codigo = B.Codigo),
A.tributacao_PIS, A.tributacao_cofins,A.DI,A.DI_DATA_REGISTRO,A.DI_DATA_DESEMBARACO,
A.DI_LOCAL_DESEMBARACO,A.DI_UF_DESEMBARACO,A.DI_CODIGO_EXPORTADOR,A.DI_ADICAO,
A.DI_SEQUENCIAL,A.DI_CODIGO_FABRICANTE,A.DI_DESCONTO_ADICAO,
A.di_base_calculo,A.di_despesas_aduaneiras,A.di_valor_ii,A.di_valor_iof,
A.VALOR_ICMS,A.BASECALCULO_IPI,A.BASECALCULO_PIS,A.BASECALCULO_COFINS,
A.VALOR_ACRESCIMO,A.VALOR_DESCONTO,A.FISCAL_ISENTAS_IPI,A.FISCAL_ISENTAS_ICMS,
A.FISCAL_OUTRAS_IPI,A.FISCAL_OUTRAS_ICMS,A.FISCAL_VALOR_ICMS,A.FISCAL_VALOR_IPI,
A.FISCAL_VALOR_PIS,A.FISCAL_VALOR_COFINS,A.FISCAL_PERCENTUAL_ICMS,A.FISCAL_PERCENTUAL_IPI,
A.FISCAL_PERCENTUAL_PIS,A.FISCAL_PERCENTUAL_COFINS,A.FISCAL_BASECALCULO_ICMS,
A.FISCAL_BASECALCULO_IPI,A.FISCAL_BASECALCULO_PIS,A.FISCAL_BASECALCULO_COFINS,
A.VALOR_CONTABIL, A.valor_basecalculo_icms, A.VALOR_PEDAGIO, A.FISCAL_CFOP_CODIGO,A.FISCAL_TRIBUTACAO_ORIGEM,
A.FISCAL_TRIBUTACAO_ICMS,A.FISCAL_TRIBUTACAO_IPI,A.FISCAL_TRIBUTACAO_PIS,
A.FISCAL_TRIBUTACAO_COFINS, A.DESCONTO_BASECALCULO_ICMS, A.BASECALCULO_FCI, A.Codigo_Fci,

A.MODALIDADE_ICMS, A.MODALIDADE_ICMS_ST, A.MARGEM_ICMS_ST, A.REDUCAO_ICMS_ST,
A.BASECALCULO_ICMS_ST, A.ALIQUOTA_ICMS_ST, A.VALOR_ICMS_ST,A.FISCAL_REDUCAO_ICMS_ST,
A.FISCAL_BASECALCULO_ICMS_ST, A.FISCAL_ALIQUOTA_ICMS_ST, A.FISCAL_VALOR_ICMS_ST,

A.INFORMACOES_COMPLEMENTARES, A.DI_NVE,
A.DI_TIPO_VIA_TRANSP, IIF(A.DI_TIPO_VIA_TRANSP=1,'Maritima',
                      IIF(A.DI_TIPO_VIA_TRANSP=2,'Fluvial',
                      IIF(A.DI_TIPO_VIA_TRANSP=3,'Lacustre',
                      IIF(A.DI_TIPO_VIA_TRANSP=4,'Aerea',
                      IIF(A.DI_TIPO_VIA_TRANSP=5,'Postal',
                      IIF(A.DI_TIPO_VIA_TRANSP=6,'Ferroviaria',
                      IIF(A.DI_TIPO_VIA_TRANSP=7,'Rodoviaria',
                      IIF(A.DI_TIPO_VIA_TRANSP=8,'Conduto/Rd.Trnsm',
                      IIF(A.DI_TIPO_VIA_TRANSP=9,'Meios Proprios',
                      IIF(A.DI_TIPO_VIA_TRANSP=10,'Entr/Saida ficta','')))))))))),
A.DI_VALOR_AFRMM,
A.DI_TIPO_INTERMEDIO, IIF(A.DI_TIPO_INTERMEDIO='1','Imp.Conta Propria',
                      IIF(A.DI_TIPO_INTERMEDIO='2','Imp.Conta e Ordem',
                      IIF(A.DI_TIPO_INTERMEDIO='3','Imp.por Encomenda',''))),
A.DI_CNPJ_INTERMEDIO, A.DI_UF_INTERMEDIO, A.DI_NUMERO_DRAWBACK, A.Conta_Contabil, A.CCusto,

IIF(char_length(A.CCusto)=2,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 2)),
IIF(char_length(A.CCusto)=5,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 2))||' - '||
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 5)),
IIF(char_length(A.CCusto)=8,
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 5))||' - '||
(Select First 1 C.Descricao From TbCentro_de_Custo C Where C.CODIGO = SUBSTRING(A.CCusto FROM 1 FOR 8)),''))) CCUSTO_DESCRICAO,

A.ENQUADRAMENTO_IPI,
A.QUANTIDADE_ALTERNATIVA, A.UM_ALTERNATIVA, A.VALOR_ALTERNATIVO

From TbNfE_Item A
Where (A.NFE_CONTROLE = :CONTROLE_1)
order by A.SEQUENCIA
into
    :NFE_CONTROLE      ,:SEQUENCIA        , :OPERACAO_CODIGO, :CFOP_CODIGO,
    :PRODUTO_CODIGO    ,:PRODUTO_DESCRICAO, :PRODUTO_UNIDADEMEDIDA,:GRADE_CODIGO,
    :NCM_CODIGO        ,:TRIBUTACAO_ICMS  , :TRIBUTACAO_IPI, :TRIBUTACAO_ORIGEM,
    :LOCALIZACAO_CODIGO,:LOCALIZACAO_DESCRICAO,
    :QUANTIDADE       , :VALOR_UNITARIO, :VALOR_TOTAL,
    :BASECALCULO_ICMS, :PERCENTUAL_ICMS   , :PERCENTUAL_IPI, :VALOR_IPI,
    :PERCENTUAL_PIS, :VALOR_PIS, :PERCENTUAL_COFINS ,:VALOR_COFINS,
    :VALOR_FRETE, :VALOR_SEGURO, :NFS,
    :NFS_ITEM_CONTROLE,:NF_EXTERNO, :NF_EXTERNO_ITEM_CONTROLE, :OC,:OC_ITEM_CONTROLE,
    :T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
    :T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
    :ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,:DATA_ENTRADA,
    :SITUACAO,:CONTROLE,:VALOR_CUSTO,:PRODUTO_GRADE_CODIGO,:tributacao_PIS,
    :tributacao_cofins, :DI, :DI_DATA_REGISTRO, :DI_DATA_DESEMBARACO,
    :DI_LOCAL_DESEMBARACO, :DI_UF_DESEMBARACO, :DI_CODIGO_EXPORTADOR,
    :DI_ADICAO, :DI_SEQUENCIAL, :DI_CODIGO_FABRICANTE, :DI_DESCONTO_ADICAO,
    :di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:Di_valor_iof,
    :VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
    :VALOR_ACRESCIMO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
    :FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
    :FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
    :FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
    :FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
    :VALOR_CONTABIL,:valor_basecalculo_icms, :VALOR_PEDAGIO,:FISCAL_CFOP_CODIGO,
    :FISCAL_TRIBUTACAO_ORIGEM, :FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,
    :FISCAL_TRIBUTACAO_PIS, :FISCAL_TRIBUTACAO_COFINS , :DESCONTO_BASECALCULO_ICMS,
    :BASECALCULO_FCI, :Codigo_Fci,

    :MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST, :REDUCAO_ICMS_ST,
    :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,:FISCAL_REDUCAO_ICMS_ST,
    :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
    :INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP,
    :DI_TIPO_VIA_TRANSP_DESCRICAO, :DI_VALOR_AFRMM, :DI_TIPO_INTERMEDIO,
    :DI_TIPO_INTERMEDIO_DESCRICAO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO,
    :DI_NUMERO_DRAWBACK, :Conta_Contabil, :CCusto, :CCUSTO_DESCRICAO, :ENQUADRAMENTO_IPI,
    :QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO


do suspend;
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NF_NATUREZA integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    PDV_CFE_ID integer,
    PDV_CFE_ITEM_ID integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(15,6),
    VALOR_CUSTO numeric(10,5),
    OUTROS_CUSTOS numeric(15,2),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(500),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1),
    OPERACAO_TIPO_DESCONTO varchar(1),
    GC_WEB smallint)
as
BEGIN
INSERT INTO TBNFE_ITEM  (
NFE_CONTROLE,ESTABELECIMENTO_CODIGO,EMPRESA_CODIGO,NUMERO_NOTAFISCAL,DATA_ENTRADA,NF_SITUACAO, NF_NATUREZA,
NFS,NFS_ITEM_CONTROLE,PDV_CFE_ID, PDV_CFE_ITEM_ID, OC,OC_ITEM_CONTROLE,NF_EXTERNO,NF_EXTERNO_ITEM_CONTROLE             ,
CONTROLE,SEQUENCIA,OPERACAO_CODIGO,CFOP_CODIGO,PRODUTO_CODIGO,PRODUTO_DESCRICAO           ,
PRODUTO_UNIDADEMEDIDA,NCM_CODIGO,TRIBUTACAO_ORIGEM,TRIBUTACAO_IPI,TRIBUTACAO_ICMS         ,
TRIBUTACAO_PIS,TRIBUTACAO_COFINS                                                          ,
LOCALIZACAO_CODIGO,QUANTIDADE,VALOR_UNITARIO,VALOR_CUSTO,OUTROS_CUSTOS,VALOR_TOTAL,BASECALCULO_ICMS,PERCENTUAL_ICMS ,
PERCENTUAL_IPI,VALOR_IPI,PERCENTUAL_PIS,VALOR_PIS,PERCENTUAL_COFINS,VALOR_COFINS          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
DI_BASE_CALCULO,DI_DESPESAS_ADUANEIRAS,DI_VALOR_II,DI_VALOR_IOF,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, VALOR_BASECALCULO_ICMS, BASECALCULO_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, ENQUADRAMENTO_IPI,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO,
REDUCAO_BASE_PISCOF, TIPO_DESCONTO, GC_WEB)
VALUES  (
:NFE_CONTROLE,:ESTABELECIMENTO_CODIGO,:EMPRESA_CODIGO,:NUMERO_NOTAFISCAL,
:DATA_ENTRADA,:SITUACAO,:NF_NATUREZA,:NFS,:NFS_ITEM_CONTROLE,:PDV_CFE_ID, :PDV_CFE_ITEM_ID, :OC,:OC_ITEM_CONTROLE,
:NF_EXTERNO,:NF_EXTERNO_ITEM_CONTROLE,:CONTROLE,:SEQUENCIA,:OPERACAO_CODIGO,:CFOP_CODIGO,
:PRODUTO_CODIGO,:PRODUTO_DESCRICAO,:PRODUTO_UNIDADEMEDIDA,:NCM_CODIGO,:TRIBUTACAO_ORIGEM,
:TRIBUTACAO_IPI,:TRIBUTACAO_ICMS,:TRIBUTACAO_PIS,:TRIBUTACAO_COFINS,:LOCALIZACAO_CODIGO,
:QUANTIDADE,:VALOR_UNITARIO,:VALOR_CUSTO,:OUTROS_CUSTOS, :VALOR_TOTAL,:BASECALCULO_ICMS,:PERCENTUAL_ICMS,
:PERCENTUAL_IPI,:VALOR_IPI,:PERCENTUAL_PIS,:VALOR_PIS,:PERCENTUAL_COFINS,
:VALOR_COFINS,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:DI_BASE_CALCULO,:DI_DESPESAS_ADUANEIRAS,:DI_VALOR_II,:DI_VALOR_IOF,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :VALOR_BASECALCULO_ICMS, :BASECALCULO_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :ENQUADRAMENTO_IPI,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,
:REDUCAO_BASE_PISCOF, :OPERACAO_TIPO_DESCONTO, :GC_WEB);

INSERT INTO TBNFE_ITEM_SALDO (
NFE_ITEM_CONTROLE,NFE_CONTROLE,QUANTIDADE,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:CONTROLE,:NFE_CONTROLE,:QUANTIDADE,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM10 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO,
REDUCAO_BASE_PISCOF)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,
:REDUCAO_BASE_PISCOF);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM11 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(500),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    REDUCAO_BASE_PISCOF char(1))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO,
REDUCAO_BASE_PISCOF)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO,
:REDUCAO_BASE_PISCOF);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPI_NFE_ITEM9 (
    NFE_CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NFS integer,
    NFS_ITEM_CONTROLE integer,
    OC integer,
    OC_ITEM_CONTROLE integer,
    NF_EXTERNO integer,
    NF_EXTERNO_ITEM_CONTROLE integer,
    CONTROLE integer,
    SEQUENCIA integer,
    OPERACAO_CODIGO varchar(3),
    CFOP_CODIGO varchar(5),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    LOCALIZACAO_CODIGO integer,
    QUANTIDADE numeric(10,5),
    VALOR_UNITARIO numeric(10,5),
    VALOR_CUSTO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,5),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    BASECALCULO_FCI numeric(15,4),
    CODIGO_FCI varchar(50),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(10,2),
    INFORMACOES_COMPLEMENTARES varchar(200),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11),
    ENQUADRAMENTO_IPI varchar(3),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10))
as
BEGIN
INSERT INTO TbNfe_Item  (
Nfe_Controle,Estabelecimento_Codigo,Empresa_Codigo,Numero_NotaFiscal,Data_Entrada,Situacao,
Nfs,Nfs_Item_Controle,OC,OC_Item_Controle,Nf_Externo,Nf_Externo_Item_Controle             ,
Controle,Sequencia,Operacao_Codigo,Cfop_Codigo,Produto_Codigo,Produto_Descricao           ,
PRODUTO_UNIDADEMEDIDA,Ncm_Codigo,Tributacao_Origem,Tributacao_Ipi,Tributacao_Icms         ,
Tributacao_Pis,Tributacao_Cofins                                                          ,
Localizacao_Codigo,Quantidade,Valor_Unitario,Valor_Custo,Valor_Total,BaseCalculo_Icms,Percentual_Icms ,
Percentual_Ipi,Valor_Ipi,Percentual_Pis,Valor_Pis,Percentual_Cofins,Valor_Cofins          ,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,
DI,DI_DATA_REGISTRO,DI_DATA_DESEMBARACO,DI_LOCAL_DESEMBARACO,DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR,DI_ADICAO,DI_SEQUENCIAL,DI_CODIGO_FABRICANTE,DI_DESCONTO_ADICAO,
di_base_calculo,di_despesas_aduaneiras,di_valor_ii,di_valor_iof,
VALOR_ICMS,BASECALCULO_IPI,BASECALCULO_PIS,BASECALCULO_COFINS,
VALOR_ACRESCIMO,VALOR_FRETE,VALOR_SEGURO,VALOR_DESCONTO,FISCAL_ISENTAS_IPI,
FISCAL_ISENTAS_ICMS,FISCAL_OUTRAS_IPI,FISCAL_OUTRAS_ICMS,FISCAL_VALOR_ICMS,FISCAL_VALOR_IPI,
FISCAL_VALOR_PIS,FISCAL_VALOR_COFINS,FISCAL_PERCENTUAL_ICMS,FISCAL_PERCENTUAL_IPI,
FISCAL_PERCENTUAL_PIS,FISCAL_PERCENTUAL_COFINS,FISCAL_BASECALCULO_ICMS,
FISCAL_BASECALCULO_IPI,FISCAL_BASECALCULO_PIS,FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO, VALOR_CONTABIL, valor_basecalculo_icms, basecalculo_FCI, CODIGO_FCI,
FISCAL_CFOP_CODIGO,FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS,FISCAL_TRIBUTACAO_IPI,FISCAL_TRIBUTACAO_PIS,FISCAL_TRIBUTACAO_COFINS,
MODALIDADE_ICMS, MODALIDADE_ICMS_ST, MARGEM_ICMS_ST,
REDUCAO_ICMS_ST, BASECALCULO_ICMS_ST, ALIQUOTA_ICMS_ST, VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST, FISCAL_BASECALCULO_ICMS_ST, FISCAL_ALIQUOTA_ICMS_ST, FISCAL_VALOR_ICMS_ST,
INFORMACOES_COMPLEMENTARES, DI_NVE, DI_TIPO_VIA_TRANSP, DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO, DI_CNPJ_INTERMEDIO, DI_UF_INTERMEDIO, DI_NUMERO_DRAWBACK,
CCUSTO, CONTA_CONTABIL, Enquadramento_Ipi,
QUANTIDADE_ALTERNATIVA, UM_ALTERNATIVA, VALOR_ALTERNATIVO)
VALUES  (
:Nfe_Controle,:Estabelecimento_Codigo,:Empresa_Codigo,:Numero_NotaFiscal,
:Data_Entrada,:Situacao,:Nfs,:Nfs_Item_Controle,:OC,:OC_Item_Controle,
:Nf_Externo,:Nf_Externo_Item_Controle,:Controle,:Sequencia,:Operacao_Codigo,:Cfop_Codigo,
:Produto_Codigo,:Produto_Descricao,:Produto_UnidadeMedida,:Ncm_Codigo,:Tributacao_Origem,
:Tributacao_Ipi,:Tributacao_Icms,:Tributacao_Pis,:Tributacao_Cofins,:Localizacao_Codigo,
:Quantidade,:Valor_Unitario,:Valor_Custo,:Valor_Total,:BaseCalculo_Icms,:Percentual_Icms,
:Percentual_Ipi,:Valor_Ipi,:Percentual_Pis,:Valor_Pis,:Percentual_Cofins,
:Valor_Cofins,:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20,
:DI,:DI_DATA_REGISTRO,:DI_DATA_DESEMBARACO,:DI_LOCAL_DESEMBARACO,:DI_UF_DESEMBARACO,
:DI_CODIGO_EXPORTADOR,:DI_ADICAO,:DI_SEQUENCIAL,:DI_CODIGO_FABRICANTE,:DI_DESCONTO_ADICAO,
:di_base_calculo,:di_despesas_aduaneiras,:di_valor_ii,:di_valor_iof,
:VALOR_ICMS,:BASECALCULO_IPI,:BASECALCULO_PIS,:BASECALCULO_COFINS,
:VALOR_ACRESCIMO,:VALOR_FRETE,:VALOR_SEGURO,:VALOR_DESCONTO,:FISCAL_ISENTAS_IPI,:FISCAL_ISENTAS_ICMS,
:FISCAL_OUTRAS_IPI,:FISCAL_OUTRAS_ICMS,:FISCAL_VALOR_ICMS,:FISCAL_VALOR_IPI,
:FISCAL_VALOR_PIS,:FISCAL_VALOR_COFINS,:FISCAL_PERCENTUAL_ICMS,:FISCAL_PERCENTUAL_IPI,
:FISCAL_PERCENTUAL_PIS,:FISCAL_PERCENTUAL_COFINS,:FISCAL_BASECALCULO_ICMS,
:FISCAL_BASECALCULO_IPI,:FISCAL_BASECALCULO_PIS,:FISCAL_BASECALCULO_COFINS,
:VALOR_PEDAGIO, :VALOR_CONTABIL, :valor_basecalculo_icms, :basecalculo_FCI, :CODIGO_FCI,
:FISCAL_CFOP_CODIGO,:FISCAL_TRIBUTACAO_ORIGEM,
:FISCAL_TRIBUTACAO_ICMS,:FISCAL_TRIBUTACAO_IPI,:FISCAL_TRIBUTACAO_PIS,
:FISCAL_TRIBUTACAO_COFINS,:MODALIDADE_ICMS, :MODALIDADE_ICMS_ST, :MARGEM_ICMS_ST,
:REDUCAO_ICMS_ST, :BASECALCULO_ICMS_ST, :ALIQUOTA_ICMS_ST, :VALOR_ICMS_ST,
:FISCAL_REDUCAO_ICMS_ST, :FISCAL_BASECALCULO_ICMS_ST, :FISCAL_ALIQUOTA_ICMS_ST, :FISCAL_VALOR_ICMS_ST,
:INFORMACOES_COMPLEMENTARES, :DI_NVE, :DI_TIPO_VIA_TRANSP, :DI_VALOR_AFRMM,
:DI_TIPO_INTERMEDIO, :DI_CNPJ_INTERMEDIO, :DI_UF_INTERMEDIO, :DI_NUMERO_DRAWBACK,
:CCUSTO, :CONTA_CONTABIL, :Enquadramento_Ipi,
:QUANTIDADE_ALTERNATIVA, :UM_ALTERNATIVA, :VALOR_ALTERNATIVO);

INSERT INTO TbNfe_Item_Saldo (
Nfe_Item_Controle,Nfe_Controle,Quantidade,
T01,T02,T03,T04,T05,T06,T07,T08,T09,T10,  
T11,T12,T13,T14,T15,T16,T17,T18,T19,T20)  
VALUES (                                  
:Controle,:Nfe_Controle,:Quantidade,
:T01,:T02,:T03,:T04,:T05,:T06,:T07,:T08,:T09,:T10,
:T11,:T12,:T13,:T14,:T15,:T16,:T17,:T18,:T19,:T20);
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPU_CTE_ITEM (
    NFE_CONTROLE integer,
    CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    OPERACAO_CODIGO varchar(3),
    PRODUTO_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    LOCALIZACAO_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NF_NATUREZA integer,
    CFOP_CODIGO varchar(5),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    VALOR_UNITARIO numeric(10,5),
    VALOR_TOTAL numeric(10,5),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    GC_WEB integer,
    QUANTIDADE numeric(10,5),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11),
    CCUSTO varchar(8),
    CONTA_CONTABIL varchar(11))
as
BEGIN

-- UPDATE TBNFE_ITEM
UPDATE TBNFE_ITEM SET
ESTABELECIMENTO_CODIGO = :ESTABELECIMENTO_CODIGO,
EMPRESA_CODIGO = :EMPRESA_CODIGO,
OPERACAO_CODIGO     = :OPERACAO_CODIGO,
PRODUTO_CODIGO      = :PRODUTO_CODIGO,
PRODUTO_DESCRICAO   = :PRODUTO_DESCRICAO,
LOCALIZACAO_CODIGO  = :LOCALIZACAO_CODIGO,
NUMERO_NOTAFISCAL = :NUMERO_NOTAFISCAL,
DATA_ENTRADA = :DATA_ENTRADA,
NF_SITUACAO = :SITUACAO,
NF_NATUREZA = :NF_NATUREZA,
CFOP_CODIGO = :CFOP_CODIGO,
NCM_CODIGO = :NCM_CODIGO,
TRIBUTACAO_ORIGEM = :TRIBUTACAO_ORIGEM,
TRIBUTACAO_IPI = :TRIBUTACAO_IPI,
TRIBUTACAO_ICMS = :TRIBUTACAO_ICMS,
TRIBUTACAO_PIS = :TRIBUTACAO_PIS,
TRIBUTACAO_COFINS = :TRIBUTACAO_COFINS,
BASECALCULO_ICMS = :BASECALCULO_ICMS,
PERCENTUAL_ICMS = :PERCENTUAL_ICMS ,
PERCENTUAL_IPI = :PERCENTUAL_IPI,
VALOR_IPI = :VALOR_IPI,
PERCENTUAL_PIS = :PERCENTUAL_PIS,
VALOR_PIS = :VALOR_PIS,
PERCENTUAL_COFINS = :PERCENTUAL_COFINS,
VALOR_COFINS = :VALOR_COFINS,
VALOR_ICMS                = :VALOR_ICMS           ,
BASECALCULO_IPI           = :BASECALCULO_IPI      ,
BASECALCULO_PIS           = :BASECALCULO_PIS      ,
BASECALCULO_COFINS        = :BASECALCULO_COFINS   ,
VALOR_ACRESCIMO           = :VALOR_ACRESCIMO      ,
VALOR_DESCONTO            = :VALOR_DESCONTO       ,
FISCAL_ISENTAS_IPI        = :FISCAL_ISENTAS_IPI   ,
FISCAL_ISENTAS_ICMS       = :FISCAL_ISENTAS_ICMS  ,
FISCAL_OUTRAS_IPI         = :FISCAL_OUTRAS_IPI    ,
FISCAL_OUTRAS_ICMS        = :FISCAL_OUTRAS_ICMS   ,
FISCAL_VALOR_ICMS         = :FISCAL_VALOR_ICMS    ,
FISCAL_VALOR_IPI          = :FISCAL_VALOR_IPI     ,
FISCAL_VALOR_PIS          = :FISCAL_VALOR_PIS     ,
FISCAL_VALOR_COFINS       = :FISCAL_VALOR_COFINS  ,
FISCAL_PERCENTUAL_ICMS    = :FISCAL_PERCENTUAL_ICMS,
FISCAL_PERCENTUAL_IPI     = :FISCAL_PERCENTUAL_IPI ,
FISCAL_PERCENTUAL_PIS     = :FISCAL_PERCENTUAL_PIS ,
FISCAL_PERCENTUAL_COFINS  = :FISCAL_PERCENTUAL_COFINS,
FISCAL_BASECALCULO_ICMS   = :FISCAL_BASECALCULO_ICMS ,
FISCAL_BASECALCULO_IPI    = :FISCAL_BASECALCULO_IPI  ,
FISCAL_BASECALCULO_PIS    = :FISCAL_BASECALCULO_PIS  ,
FISCAL_BASECALCULO_COFINS = :FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO = :VALOR_PEDAGIO,
VALOR_CONTABIL = :VALOR_CONTABIL,
FISCAL_CFOP_CODIGO = :FISCAL_CFOP_CODIGO,
FISCAL_TRIBUTACAO_ORIGEM  = :FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS    = :FISCAL_TRIBUTACAO_ICMS,
FISCAL_TRIBUTACAO_IPI     = :FISCAL_TRIBUTACAO_IPI,
FISCAL_TRIBUTACAO_PIS     = :FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS  = :FISCAL_TRIBUTACAO_COFINS,
VALOR_UNITARIO     = :VALOR_UNITARIO,
VALOR_TOTAL        = :VALOR_TOTAL,
VALOR_BASECALCULO_ICMS = :VALOR_BASECALCULO_ICMS,
MODALIDADE_ICMS    = :MODALIDADE_ICMS,
MODALIDADE_ICMS_ST = :MODALIDADE_ICMS_ST,
MARGEM_ICMS_ST     = :MARGEM_ICMS_ST,
REDUCAO_ICMS_ST    = :REDUCAO_ICMS_ST,
BASECALCULO_ICMS_ST= :BASECALCULO_ICMS_ST,
ALIQUOTA_ICMS_ST   = :ALIQUOTA_ICMS_ST,
VALOR_ICMS_ST      = :VALOR_ICMS_ST,
GC_WEB             = :GC_WEB,
QUANTIDADE         = :QUANTIDADE,
QUANTIDADE_ALTERNATIVA              = :QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA                      = :UM_ALTERNATIVA,
VALOR_ALTERNATIVO                   = :VALOR_ALTERNATIVO,

T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20,

DI                      = :DI,
DI_DATA_REGISTRO        = :DI_DATA_REGISTRO,
DI_DATA_DESEMBARACO     = :DI_DATA_DESEMBARACO,
DI_LOCAL_DESEMBARACO    = :DI_LOCAL_DESEMBARACO,
DI_UF_DESEMBARACO       = :DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR    = :DI_CODIGO_EXPORTADOR,
DI_ADICAO               = :DI_ADICAO,
DI_SEQUENCIAL           = :DI_SEQUENCIAL,
DI_CODIGO_FABRICANTE    = :DI_CODIGO_FABRICANTE,
DI_DESCONTO_ADICAO      = :DI_DESCONTO_ADICAO,
DI_BASE_CALCULO         = :DI_BASE_CALCULO,
DI_DESPESAS_ADUANEIRAS  = :DI_DESPESAS_ADUANEIRAS,
DI_VALOR_II             = :DI_VALOR_II,
DI_VALOR_IOF            = :DI_VALOR_IOF,
DI_NVE                  = :DI_NVE,
DI_TIPO_VIA_TRANSP      = :DI_TIPO_VIA_TRANSP,
DI_VALOR_AFRMM          = :DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO      = :DI_TIPO_INTERMEDIO,
DI_CNPJ_INTERMEDIO      = :DI_CNPJ_INTERMEDIO,
DI_UF_INTERMEDIO        = :DI_UF_INTERMEDIO,
DI_NUMERO_DRAWBACK      = :DI_NUMERO_DRAWBACK,
CCUSTO                  = :CCUSTO,
CONTA_CONTABIL          = :CONTA_CONTABIL

WHERE NFE_CONTROLE = :NFE_CONTROLE
  AND CONTROLE = :CONTROLE;

  UPDATE  TbNfe_Item_Saldo SET
Quantidade = :QUANTIDADE,
T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20
WHERE Nfe_Item_Controle = :CONTROLE AND Nfe_Controle = :NFE_CONTROLE;
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER procedure SPU_NFE_ITEM (
    NFE_CONTROLE integer,
    CONTROLE integer,
    ESTABELECIMENTO_CODIGO integer,
    EMPRESA_CODIGO integer,
    PRODUTO_DESCRICAO varchar(100),
    PRODUTO_UNIDADEMEDIDA varchar(3),
    LOCALIZACAO_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    DATA_ENTRADA date,
    SITUACAO integer,
    NF_NATUREZA integer,
    CFOP_CODIGO varchar(5),
    NCM_CODIGO varchar(10),
    TRIBUTACAO_ORIGEM integer,
    TRIBUTACAO_IPI varchar(2),
    TRIBUTACAO_ICMS integer,
    TRIBUTACAO_PIS char(2),
    TRIBUTACAO_COFINS char(2),
    BASECALCULO_ICMS numeric(10,5),
    PERCENTUAL_ICMS numeric(10,5),
    PERCENTUAL_IPI numeric(10,5),
    VALOR_IPI numeric(10,5),
    PERCENTUAL_PIS numeric(10,5),
    VALOR_PIS numeric(10,5),
    PERCENTUAL_COFINS numeric(10,5),
    VALOR_COFINS numeric(10,5),
    VALOR_ICMS numeric(10,2),
    BASECALCULO_IPI numeric(10,2),
    BASECALCULO_PIS numeric(10,2),
    BASECALCULO_COFINS numeric(10,2),
    VALOR_ACRESCIMO numeric(10,2),
    VALOR_DESCONTO numeric(10,2),
    VALOR_FRETE numeric(10,2),
    VALOR_SEGURO numeric(10,2),
    FISCAL_ISENTAS_IPI numeric(10,2),
    FISCAL_ISENTAS_ICMS numeric(10,2),
    FISCAL_OUTRAS_IPI numeric(10,2),
    FISCAL_OUTRAS_ICMS numeric(10,2),
    FISCAL_VALOR_ICMS numeric(10,2),
    FISCAL_VALOR_IPI numeric(10,2),
    FISCAL_VALOR_PIS numeric(10,2),
    FISCAL_VALOR_COFINS numeric(10,2),
    FISCAL_PERCENTUAL_ICMS numeric(10,2),
    FISCAL_PERCENTUAL_IPI numeric(10,2),
    FISCAL_PERCENTUAL_PIS numeric(10,2),
    FISCAL_PERCENTUAL_COFINS numeric(10,2),
    FISCAL_BASECALCULO_ICMS numeric(10,2),
    FISCAL_BASECALCULO_IPI numeric(10,2),
    FISCAL_BASECALCULO_PIS numeric(10,2),
    FISCAL_BASECALCULO_COFINS numeric(10,2),
    VALOR_PEDAGIO numeric(10,2),
    VALOR_CONTABIL numeric(10,2),
    FISCAL_CFOP_CODIGO varchar(5),
    FISCAL_TRIBUTACAO_ORIGEM integer,
    FISCAL_TRIBUTACAO_ICMS integer,
    FISCAL_TRIBUTACAO_IPI char(2),
    FISCAL_TRIBUTACAO_PIS char(2),
    FISCAL_TRIBUTACAO_COFINS char(2),
    VALOR_UNITARIO numeric(15,6),
    VALOR_TOTAL numeric(10,5),
    VALOR_BASECALCULO_ICMS numeric(10,2),
    MODALIDADE_ICMS char(1),
    MODALIDADE_ICMS_ST char(1),
    MARGEM_ICMS_ST numeric(15,4),
    REDUCAO_ICMS_ST numeric(15,4),
    BASECALCULO_ICMS_ST numeric(15,4),
    ALIQUOTA_ICMS_ST numeric(15,4),
    VALOR_ICMS_ST numeric(15,4),
    FISCAL_REDUCAO_ICMS_ST numeric(10,2),
    FISCAL_BASECALCULO_ICMS_ST numeric(10,2),
    FISCAL_ALIQUOTA_ICMS_ST numeric(10,2),
    FISCAL_VALOR_ICMS_ST numeric(15,4),
    GC_WEB integer,
    QUANTIDADE numeric(10,5),
    QUANTIDADE_ALTERNATIVA numeric(18,4),
    UM_ALTERNATIVA varchar(3),
    VALOR_ALTERNATIVO numeric(18,10),
    VALOR_CUSTO numeric(10,5),
    OUTROS_CUSTOS numeric(15,2),
    INFORMACOES_COMPLEMENTARES varchar(500),
    T01 numeric(10,5),
    T02 numeric(10,5),
    T03 numeric(10,5),
    T04 numeric(10,5),
    T05 numeric(10,5),
    T06 numeric(10,5),
    T07 numeric(10,5),
    T08 numeric(10,5),
    T09 numeric(10,5),
    T10 numeric(10,5),
    T11 numeric(10,5),
    T12 numeric(10,5),
    T13 numeric(10,5),
    T14 numeric(10,5),
    T15 numeric(10,5),
    T16 numeric(10,5),
    T17 numeric(10,5),
    T18 numeric(10,5),
    T19 numeric(10,5),
    T20 numeric(10,5),
    DI varchar(12),
    DI_DATA_REGISTRO date,
    DI_DATA_DESEMBARACO date,
    DI_LOCAL_DESEMBARACO varchar(60),
    DI_UF_DESEMBARACO char(2),
    DI_CODIGO_EXPORTADOR varchar(60),
    DI_ADICAO integer,
    DI_SEQUENCIAL integer,
    DI_CODIGO_FABRICANTE varchar(60),
    DI_DESCONTO_ADICAO numeric(10,2),
    DI_BASE_CALCULO numeric(10,2),
    DI_DESPESAS_ADUANEIRAS numeric(10,2),
    DI_VALOR_II numeric(10,2),
    DI_VALOR_IOF numeric(10,2),
    DI_NVE varchar(60),
    DI_TIPO_VIA_TRANSP integer,
    DI_VALOR_AFRMM numeric(15,2),
    DI_TIPO_INTERMEDIO varchar(1),
    DI_CNPJ_INTERMEDIO varchar(14),
    DI_UF_INTERMEDIO varchar(2),
    DI_NUMERO_DRAWBACK varchar(11))
as
BEGIN

-- UPDATE TBNFE_ITEM
UPDATE TBNFE_ITEM SET
ESTABELECIMENTO_CODIGO = :ESTABELECIMENTO_CODIGO,
EMPRESA_CODIGO = :EMPRESA_CODIGO,
PRODUTO_DESCRICAO   = :PRODUTO_DESCRICAO,
PRODUTO_UNIDADEMEDIDA = :PRODUTO_UNIDADEMEDIDA,
LOCALIZACAO_CODIGO  = :LOCALIZACAO_CODIGO,
NUMERO_NOTAFISCAL = :NUMERO_NOTAFISCAL,
DATA_ENTRADA = :DATA_ENTRADA,
NF_SITUACAO = :SITUACAO,
NF_NATUREZA = :NF_NATUREZA,
CFOP_CODIGO = :CFOP_CODIGO,
NCM_CODIGO = :NCM_CODIGO,
TRIBUTACAO_ORIGEM = :TRIBUTACAO_ORIGEM,
TRIBUTACAO_IPI = :TRIBUTACAO_IPI,
TRIBUTACAO_ICMS = :TRIBUTACAO_ICMS,
TRIBUTACAO_PIS = :TRIBUTACAO_PIS,
TRIBUTACAO_COFINS = :TRIBUTACAO_COFINS,
BASECALCULO_ICMS = :BASECALCULO_ICMS,
PERCENTUAL_ICMS = :PERCENTUAL_ICMS ,
PERCENTUAL_IPI = :PERCENTUAL_IPI,
VALOR_IPI = :VALOR_IPI,
PERCENTUAL_PIS = :PERCENTUAL_PIS,
VALOR_PIS = :VALOR_PIS,
PERCENTUAL_COFINS = :PERCENTUAL_COFINS,
VALOR_COFINS = :VALOR_COFINS,
VALOR_ICMS                = :VALOR_ICMS           ,
BASECALCULO_IPI           = :BASECALCULO_IPI      ,
BASECALCULO_PIS           = :BASECALCULO_PIS      ,
BASECALCULO_COFINS        = :BASECALCULO_COFINS   ,
VALOR_ACRESCIMO           = :VALOR_ACRESCIMO      ,
VALOR_DESCONTO            = :VALOR_DESCONTO       ,
VALOR_FRETE               = :VALOR_FRETE,
VALOR_SEGURO              = :VALOR_SEGURO,
FISCAL_ISENTAS_IPI        = :FISCAL_ISENTAS_IPI   ,
FISCAL_ISENTAS_ICMS       = :FISCAL_ISENTAS_ICMS  ,
FISCAL_OUTRAS_IPI         = :FISCAL_OUTRAS_IPI    ,
FISCAL_OUTRAS_ICMS        = :FISCAL_OUTRAS_ICMS   ,
FISCAL_VALOR_ICMS         = :FISCAL_VALOR_ICMS    ,
FISCAL_VALOR_IPI          = :FISCAL_VALOR_IPI     ,
FISCAL_VALOR_PIS          = :FISCAL_VALOR_PIS     ,
FISCAL_VALOR_COFINS       = :FISCAL_VALOR_COFINS  ,
FISCAL_PERCENTUAL_ICMS    = :FISCAL_PERCENTUAL_ICMS,
FISCAL_PERCENTUAL_IPI     = :FISCAL_PERCENTUAL_IPI ,
FISCAL_PERCENTUAL_PIS     = :FISCAL_PERCENTUAL_PIS ,
FISCAL_PERCENTUAL_COFINS  = :FISCAL_PERCENTUAL_COFINS,
FISCAL_BASECALCULO_ICMS   = :FISCAL_BASECALCULO_ICMS ,
FISCAL_BASECALCULO_IPI    = :FISCAL_BASECALCULO_IPI  ,
FISCAL_BASECALCULO_PIS    = :FISCAL_BASECALCULO_PIS  ,
FISCAL_BASECALCULO_COFINS = :FISCAL_BASECALCULO_COFINS,
VALOR_PEDAGIO = :VALOR_PEDAGIO,
VALOR_CONTABIL = :VALOR_CONTABIL,
FISCAL_CFOP_CODIGO = :FISCAL_CFOP_CODIGO,
FISCAL_TRIBUTACAO_ORIGEM  = :FISCAL_TRIBUTACAO_ORIGEM,
FISCAL_TRIBUTACAO_ICMS    = :FISCAL_TRIBUTACAO_ICMS,
FISCAL_TRIBUTACAO_IPI     = :FISCAL_TRIBUTACAO_IPI,
FISCAL_TRIBUTACAO_PIS     = :FISCAL_TRIBUTACAO_PIS,
FISCAL_TRIBUTACAO_COFINS  = :FISCAL_TRIBUTACAO_COFINS,
VALOR_UNITARIO     = :VALOR_UNITARIO,
VALOR_TOTAL        = :VALOR_TOTAL,
VALOR_BASECALCULO_ICMS = :VALOR_BASECALCULO_ICMS,
MODALIDADE_ICMS    = :MODALIDADE_ICMS,
MODALIDADE_ICMS_ST = :MODALIDADE_ICMS_ST,
MARGEM_ICMS_ST     = :MARGEM_ICMS_ST,
REDUCAO_ICMS_ST    = :REDUCAO_ICMS_ST,
BASECALCULO_ICMS_ST= :BASECALCULO_ICMS_ST,
ALIQUOTA_ICMS_ST   = :ALIQUOTA_ICMS_ST,
VALOR_ICMS_ST      = :VALOR_ICMS_ST,
FISCAL_REDUCAO_ICMS_ST = :FISCAL_REDUCAO_ICMS_ST,
FISCAL_BASECALCULO_ICMS_ST = :FISCAL_BASECALCULO_ICMS_ST,
FISCAL_ALIQUOTA_ICMS_ST = :FISCAL_ALIQUOTA_ICMS_ST,
FISCAL_VALOR_ICMS_ST = :FISCAL_VALOR_ICMS_ST,
GC_WEB             = :GC_WEB,
QUANTIDADE         = :QUANTIDADE,
QUANTIDADE_ALTERNATIVA              = :QUANTIDADE_ALTERNATIVA,
UM_ALTERNATIVA                      = :UM_ALTERNATIVA,
VALOR_ALTERNATIVO                   = :VALOR_ALTERNATIVO,
VALOR_CUSTO                         = :VALOR_CUSTO,
OUTROS_CUSTOS                       = :OUTROS_CUSTOS,
INFORMACOES_COMPLEMENTARES          = :INFORMACOES_COMPLEMENTARES,
T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20,

DI                      = :DI,
DI_DATA_REGISTRO        = :DI_DATA_REGISTRO,
DI_DATA_DESEMBARACO     = :DI_DATA_DESEMBARACO,
DI_LOCAL_DESEMBARACO    = :DI_LOCAL_DESEMBARACO,
DI_UF_DESEMBARACO       = :DI_UF_DESEMBARACO,
DI_CODIGO_EXPORTADOR    = :DI_CODIGO_EXPORTADOR,
DI_ADICAO               = :DI_ADICAO,
DI_SEQUENCIAL           = :DI_SEQUENCIAL,
DI_CODIGO_FABRICANTE    = :DI_CODIGO_FABRICANTE,
DI_DESCONTO_ADICAO      = :DI_DESCONTO_ADICAO,
DI_BASE_CALCULO         = :DI_BASE_CALCULO,
DI_DESPESAS_ADUANEIRAS  = :DI_DESPESAS_ADUANEIRAS,
DI_VALOR_II             = :DI_VALOR_II,
DI_VALOR_IOF            = :DI_VALOR_IOF,
DI_NVE                  = :DI_NVE,
DI_TIPO_VIA_TRANSP      = :DI_TIPO_VIA_TRANSP,
DI_VALOR_AFRMM          = :DI_VALOR_AFRMM,
DI_TIPO_INTERMEDIO      = :DI_TIPO_INTERMEDIO,
DI_CNPJ_INTERMEDIO      = :DI_CNPJ_INTERMEDIO,
DI_UF_INTERMEDIO        = :DI_UF_INTERMEDIO,
DI_NUMERO_DRAWBACK      = :DI_NUMERO_DRAWBACK

WHERE NFE_CONTROLE = :NFE_CONTROLE
  AND CONTROLE = :CONTROLE;

  UPDATE  TbNfe_Item_Saldo SET
Quantidade = :QUANTIDADE,
T01 = :T01, T02 = :T02, T03 = :T03, T04 = :T04,
   T05 = :T05, T06 = :T06, T07 = :T07, T08 = :T08,
   T09 = :T09, T10 = :T10, T11 = :T11, T12 = :T12,
   T13 = :T13, T14 = :T14, T15 = :T15, T16 = :T16,
   T17 = :T17, T18 = :T18, T19 = :T19, T20 = :T20
WHERE Nfe_Item_Controle = :CONTROLE AND Nfe_Controle = :NFE_CONTROLE;
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbnfe_item_b09u for tbnfe_item
inactive before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(8000);
BEGIN
  
  HISTORICO = '';
    
    IF(NEW.SEQUENCIA <> OLD.SEQUENCIA) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Seq:'||OLD.SEQUENCIA||' -> '||NEW.SEQUENCIA;
        END                  
    IF(NEW.OPERACAO_CODIGO <> OLD.OPERACAO_CODIGO) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' Oper:'||OLD.OPERACAO_CODIGO||' -> '||NEW.OPERACAO_CODIGO;
        END                  
    IF(NEW.CFOP_CODIGO <> OLD.CFOP_CODIGO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' CFOP:'||OLD.CFOP_CODIGO||' -> '||NEW.CFOP_CODIGO;
        END                  
    IF(NEW.PRODUTO_CODIGO <> OLD.PRODUTO_CODIGO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Id.Prod:'||OLD.PRODUTO_CODIGO||' -> '||NEW.PRODUTO_CODIGO;
        END                  
    IF(NEW.PRODUTO_DESCRICAO <> OLD.PRODUTO_DESCRICAO) THEN
        BEGIN                                        
            HISTORICO = HISTORICO||' Desc.Prod:'||OLD.PRODUTO_DESCRICAO||' -> '||NEW.PRODUTO_DESCRICAO;
        END                      
    IF(NEW.PRODUTO_UNIDADEMEDIDA <> OLD.PRODUTO_UNIDADEMEDIDA) THEN
        BEGIN                                        
            HISTORICO = HISTORICO||' UM:'||OLD.PRODUTO_UNIDADEMEDIDA||' -> '||NEW.PRODUTO_UNIDADEMEDIDA;
        END                      
    IF(NEW.NCM_CODIGO <> OLD.NCM_CODIGO) THEN
        BEGIN                                  
            HISTORICO = HISTORICO||' NCM:'||OLD.NCM_CODIGO||' -> '||NEW.NCM_CODIGO;
        END                
    IF(NEW.TRIBUTACAO_ICMS <> OLD.TRIBUTACAO_ICMS) THEN
        BEGIN                                  
            HISTORICO = HISTORICO||' CST.ICMS:'||OLD.TRIBUTACAO_ICMS||' -> '||NEW.TRIBUTACAO_ICMS;
        END                
    IF(NEW.TRIBUTACAO_IPI <> OLD.TRIBUTACAO_IPI) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' CST.IPI:'||OLD.TRIBUTACAO_IPI||' -> '||NEW.TRIBUTACAO_IPI;
        END
    IF(NEW.TRIBUTACAO_ORIGEM <> OLD.TRIBUTACAO_ORIGEM) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' Orig:'||OLD.TRIBUTACAO_ORIGEM||' -> '||NEW.TRIBUTACAO_ORIGEM;
        END
    IF(NEW.LOCALIZACAO_CODIGO <> OLD.LOCALIZACAO_CODIGO) THEN
        BEGIN                    
            HISTORICO = HISTORICO||' Loc:'||OLD.LOCALIZACAO_CODIGO||' -> '||NEW.LOCALIZACAO_CODIGO;
        END
    IF(NEW.QUANTIDADE <> OLD.QUANTIDADE) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Qtd:'||OLD.QUANTIDADE||' -> '||NEW.QUANTIDADE;
        END               
    IF(NEW.VALOR_UNITARIO <> OLD.VALOR_UNITARIO) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Vr.Unit:'||OLD.VALOR_UNITARIO||' -> '||NEW.VALOR_UNITARIO;
        END               
    IF(NEW.VALOR_TOTAL <> OLD.VALOR_TOTAL) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Total:'||OLD.VALOR_TOTAL||' -> '||NEW.VALOR_TOTAL;
        END
    IF(NEW.BASECALCULO_ICMS <> OLD.BASECALCULO_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Bs.Calc.ICMS:'||OLD.BASECALCULO_ICMS||' -> '||NEW.BASECALCULO_ICMS;
        END
    IF(NEW.PERCENTUAL_ICMS <> OLD.PERCENTUAL_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %ICMS:'||OLD.PERCENTUAL_ICMS||' -> '||NEW.PERCENTUAL_ICMS;
        END
    IF(NEW.PERCENTUAL_IPI <> OLD.PERCENTUAL_IPI) THEN
        BEGIN             
            HISTORICO = HISTORICO||' %IPI:'||OLD.PERCENTUAL_IPI||' -> '||NEW.PERCENTUAL_IPI;
        END               
    IF(NEW.VALOR_IPI <> OLD.VALOR_IPI) THEN
        BEGIN             
            HISTORICO = HISTORICO||' Vr.%IPI:'||OLD.VALOR_IPI||' -> '||NEW.VALOR_IPI;
        END               
    IF(NEW.PERCENTUAL_PIS <> OLD.PERCENTUAL_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %PIS:'||OLD.PERCENTUAL_PIS||' -> '||NEW.PERCENTUAL_PIS;
        END
    IF(NEW.VALOR_PIS <> OLD.VALOR_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.PIS:'||OLD.VALOR_PIS||' -> '||NEW.VALOR_PIS;
        END
    IF(NEW.PERCENTUAL_COFINS <> OLD.PERCENTUAL_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' %COF:'||OLD.PERCENTUAL_COFINS||' -> '||NEW.PERCENTUAL_COFINS;
        END
    IF(NEW.VALOR_COFINS <> OLD.VALOR_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Cof:'||OLD.VALOR_COFINS||' -> '||NEW.VALOR_COFINS;
        END
    IF(NEW.NFS <> OLD.NFS) THEN
        BEGIN
            HISTORICO = HISTORICO||' NFS:'||OLD.NFS||' -> '||NEW.NFS;
        END 
    IF(NEW.NFS_ITEM_CONTROLE <> OLD.NFS_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' ID.Nf.Ref:'||OLD.NFS_ITEM_CONTROLE||' -> '||NEW.NFS_ITEM_CONTROLE;
        END
    IF(NEW.NF_EXTERNO <> OLD.NF_EXTERNO) THEN
        BEGIN
            HISTORICO = HISTORICO||' NFS:'||OLD.NF_EXTERNO||' -> '||NEW.NF_EXTERNO;
        END
    IF(NEW.NF_EXTERNO_ITEM_CONTROLE <> OLD.NF_EXTERNO_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' ID.NF.Ref:'||OLD.NF_EXTERNO_ITEM_CONTROLE||' -> '||NEW.NF_EXTERNO_ITEM_CONTROLE;
        END 
    IF(NEW.OC <> OLD.OC) THEN
        BEGIN
            HISTORICO = HISTORICO||' OC:'||OLD.OC||' -> '||NEW.OC;
        END                             
    IF(NEW.OC_ITEM_CONTROLE <> OLD.OC_ITEM_CONTROLE) THEN
        BEGIN
            HISTORICO = HISTORICO||' Id.OC.Item:'||OLD.OC_ITEM_CONTROLE||' -> '||NEW.OC_ITEM_CONTROLE;
        END
    IF(NEW.T01 <> OLD.T01) THEN
        BEGIN
            HISTORICO = HISTORICO||' T01:'||OLD.T01||' -> '||NEW.T01;
        END
    IF(NEW.T02 <> OLD.T02) THEN
        BEGIN
            HISTORICO = HISTORICO||' T02:'||OLD.T02||' -> '||NEW.T02;
        END
    IF(NEW.T03 <> OLD.T03) THEN
        BEGIN
            HISTORICO = HISTORICO||' T03:'||OLD.T03||' -> '||NEW.T03;
        END
    IF(NEW.T04 <> OLD.T04) THEN
        BEGIN
            HISTORICO = HISTORICO||' T04:'||OLD.T04||' -> '||NEW.T04;
        END
    IF(NEW.T05 <> OLD.T05) THEN
        BEGIN
            HISTORICO = HISTORICO||' T05:'||OLD.T05||' -> '||NEW.T05;
        END
    IF(NEW.T06 <> OLD.T06) THEN
        BEGIN
            HISTORICO = HISTORICO||' T06:'||OLD.T06||' -> '||NEW.T06;
        END
    IF(NEW.T07 <> OLD.T07) THEN
        BEGIN
            HISTORICO = HISTORICO||' T07:'||OLD.T07||' -> '||NEW.T07;
        END
    IF(NEW.T08 <> OLD.T08) THEN
        BEGIN
            HISTORICO = HISTORICO||' T08:'||OLD.T08||' -> '||NEW.T08;
        END
    IF(NEW.T09 <> OLD.T09) THEN
        BEGIN
            HISTORICO = HISTORICO||' T09:'||OLD.T09||' -> '||NEW.T09;
        END
    IF(NEW.T10 <> OLD.T10) THEN
        BEGIN
            HISTORICO = HISTORICO||' T10:'||OLD.T10||' -> '||NEW.T10;
        END
    IF(NEW.T11 <> OLD.T11) THEN
        BEGIN
            HISTORICO = HISTORICO||' T11:'||OLD.T11||' -> '||NEW.T11;
        END
    IF(NEW.T12 <> OLD.T12) THEN
        BEGIN
            HISTORICO = HISTORICO||' T12:'||OLD.T12||' -> '||NEW.T12;
        END
    IF(NEW.T13 <> OLD.T13) THEN
        BEGIN
            HISTORICO = HISTORICO||' T13:'||OLD.T13||' -> '||NEW.T13;
        END
    IF(NEW.T14 <> OLD.T14) THEN
        BEGIN
            HISTORICO = HISTORICO||' T14:'||OLD.T14||' -> '||NEW.T14;
        END
    IF(NEW.T15 <> OLD.T15) THEN
        BEGIN
            HISTORICO = HISTORICO||' T15:'||OLD.T15||' -> '||NEW.T15;
        END
    IF(NEW.T16 <> OLD.T16) THEN
        BEGIN
            HISTORICO = HISTORICO||' T16:'||OLD.T16||' -> '||NEW.T16;
        END
    IF(NEW.T17 <> OLD.T17) THEN
        BEGIN
            HISTORICO = HISTORICO||' T17:'||OLD.T17||' -> '||NEW.T17;
        END
    IF(NEW.T18 <> OLD.T18) THEN
        BEGIN
            HISTORICO = HISTORICO||' T18:'||OLD.T18||' -> '||NEW.T18;
        END
    IF(NEW.T19 <> OLD.T19) THEN
        BEGIN
            HISTORICO = HISTORICO||' T19:'||OLD.T19||' -> '||NEW.T19;
        END
    IF(NEW.T20 <> OLD.T20) THEN
        BEGIN
            HISTORICO = HISTORICO||' T20:'||OLD.T20||' -> '||NEW.T20;
        END
    IF(NEW.ESTABELECIMENTO_CODIGO <> OLD.ESTABELECIMENTO_CODIGO) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Est:'||OLD.ESTABELECIMENTO_CODIGO||' -> '||NEW.ESTABELECIMENTO_CODIGO;
        END                    
    IF(NEW.EMPRESA_CODIGO <> OLD.EMPRESA_CODIGO) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Emp:'||OLD.EMPRESA_CODIGO||' -> '||NEW.EMPRESA_CODIGO;
        END                  
    IF(NEW.NUMERO_NOTAFISCAL <> OLD.NUMERO_NOTAFISCAL and OLD.NUMERO_NOTAFISCAL > 0) THEN
        BEGIN                
            HISTORICO = HISTORICO||' NF:'||OLD.NUMERO_NOTAFISCAL||' -> '||NEW.NUMERO_NOTAFISCAL;
        END
--    IF(NEW.SITUACAO <> OLD.SITUACAO) THEN
--        BEGIN
--            HISTORICO = HISTORICO||' Sit:'||OLD.SITUACAO||' -> '||NEW.SITUACAO;
--        END
    IF(NEW.VALOR_CUSTO <> OLD.VALOR_CUSTO) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Vr.Custo:'||OLD.VALOR_CUSTO||' -> '||NEW.VALOR_CUSTO;
        END                  
    IF(NEW.TECELAGEM <> OLD.TECELAGEM) THEN
        BEGIN                
            HISTORICO = HISTORICO||' Tecel:'||OLD.TECELAGEM||' -> '||NEW.TECELAGEM;
        END                  
    IF(NEW.TRIBUTACAO_PIS <> OLD.TRIBUTACAO_PIS) THEN
        BEGIN 
            HISTORICO = HISTORICO||' CST PIS:'||OLD.TRIBUTACAO_PIS||' -> '||NEW.TRIBUTACAO_PIS;
        END                    
    IF(NEW.TRIBUTACAO_COFINS <> OLD.TRIBUTACAO_COFINS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' CST Cof:'||OLD.TRIBUTACAO_COFINS||' -> '||NEW.TRIBUTACAO_COFINS;
        END                    
    IF(NEW.DI <> OLD.DI) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI:'||OLD.DI||' -> '||NEW.DI;
        END                      
    IF(NEW.DI_DATA_REGISTRO <> OLD.DI_DATA_REGISTRO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Dt.Reg:'||OLD.DI_DATA_REGISTRO||' -> '||NEW.DI_DATA_REGISTRO;
        END                      
    IF(NEW.DI_DATA_DESEMBARACO <> OLD.DI_DATA_DESEMBARACO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Dt.Desem:'||OLD.DI_DATA_DESEMBARACO||' -> '||NEW.DI_DATA_DESEMBARACO;
        END                      
    IF(NEW.DI_LOCAL_DESEMBARACO <> OLD.DI_LOCAL_DESEMBARACO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Lcl.Desem:'||OLD.DI_LOCAL_DESEMBARACO||' -> '||NEW.DI_LOCAL_DESEMBARACO;
        END                      
    IF(NEW.DI_UF_DESEMBARACO <> OLD.DI_UF_DESEMBARACO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.UF.Desem:'||OLD.DI_UF_DESEMBARACO||' -> '||NEW.DI_UF_DESEMBARACO;
        END                      
    IF(NEW.DI_CODIGO_EXPORTADOR <> OLD.DI_CODIGO_EXPORTADOR) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Cod.Exp:'||OLD.DI_CODIGO_EXPORTADOR||' -> '||NEW.DI_CODIGO_EXPORTADOR;
        END                      
    IF(NEW.DI_ADICAO <> OLD.DI_ADICAO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Adic:'||OLD.DI_ADICAO||' -> '||NEW.DI_ADICAO;
        END                      
    IF(NEW.DI_SEQUENCIAL <> OLD.DI_SEQUENCIAL) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Seq:'||OLD.DI_SEQUENCIAL||' -> '||NEW.DI_SEQUENCIAL;
        END                      
    IF(NEW.DI_CODIGO_FABRICANTE <> OLD.DI_CODIGO_FABRICANTE) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Cod.Fab:'||OLD.DI_CODIGO_FABRICANTE||' -> '||NEW.DI_CODIGO_FABRICANTE;
        END                      
    IF(NEW.DI_DESCONTO_ADICAO <> OLD.DI_DESCONTO_ADICAO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Desc.Adic:'||OLD.DI_DESCONTO_ADICAO||' -> '||NEW.DI_DESCONTO_ADICAO;
        END                      
    IF(NEW.DI_BASE_CALCULO <> OLD.DI_BASE_CALCULO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.BS.Calc:'||OLD.DI_BASE_CALCULO||' -> '||NEW.DI_BASE_CALCULO;
        END                      
    IF(NEW.DI_DESPESAS_ADUANEIRAS <> OLD.DI_DESPESAS_ADUANEIRAS) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Desp.Aduan:'||OLD.DI_DESPESAS_ADUANEIRAS||' -> '||NEW.DI_DESPESAS_ADUANEIRAS;
        END                      
    IF(NEW.DI_VALOR_II <> OLD.DI_VALOR_II) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Vr.II:'||OLD.DI_VALOR_II||' -> '||NEW.DI_VALOR_II;
        END                      
    IF(NEW.DI_VALOR_IOF <> OLD.DI_VALOR_IOF) THEN
        BEGIN              
            HISTORICO = HISTORICO||' DI.Vr.IOF:'||OLD.DI_VALOR_IOF||' -> '||NEW.DI_VALOR_IOF;
        END                
    IF(NEW.BASECALCULO_IPI <> OLD.BASECALCULO_IPI) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Bs.Calc.IPI:'||OLD.BASECALCULO_IPI||' -> '||NEW.BASECALCULO_IPI;
        END                
    IF(NEW.BASECALCULO_PIS <> OLD.BASECALCULO_PIS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Bs.Calc.PIS:'||OLD.BASECALCULO_PIS||' -> '||NEW.BASECALCULO_PIS;
        END                    
    IF(NEW.BASECALCULO_COFINS  <> OLD.BASECALCULO_COFINS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Bs.Calc.Cof:'||OLD.BASECALCULO_COFINS||' -> '||NEW.BASECALCULO_COFINS;
        END                    
    IF(NEW.VALOR_ACRESCIMO <> OLD.VALOR_ACRESCIMO) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Vr.Acresc:'||OLD.VALOR_ACRESCIMO||' -> '||NEW.VALOR_ACRESCIMO;
        END                
    IF(NEW.VALOR_DESCONTO <> OLD.VALOR_DESCONTO) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Vr.Desc:'||OLD.VALOR_DESCONTO||' -> '||NEW.VALOR_DESCONTO;
        END                    
    IF(NEW.FISCAL_ISENTAS_IPI  <> OLD.FISCAL_ISENTAS_IPI) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Isen.IPI:'||OLD.FISCAL_ISENTAS_IPI||' -> '||NEW.FISCAL_ISENTAS_IPI;
        END                    
    IF(NEW.FISCAL_ISENTAS_ICMS <> OLD.FISCAL_ISENTAS_ICMS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Isen.ICMS:'||OLD.FISCAL_ISENTAS_ICMS||' -> '||NEW.FISCAL_ISENTAS_ICMS;
        END                    
    IF(NEW.FISCAL_OUTRAS_IPI <> OLD.FISCAL_OUTRAS_IPI) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Out.IPI:'||OLD.FISCAL_OUTRAS_IPI||' -> '||NEW.FISCAL_OUTRAS_IPI;
        END                    
    IF(NEW.FISCAL_OUTRAS_ICMS <> OLD.FISCAL_OUTRAS_ICMS) THEN
        BEGIN                 
            HISTORICO = HISTORICO||' Fisc.Out.ICMS:'||OLD.FISCAL_OUTRAS_ICMS||' -> '||NEW.FISCAL_OUTRAS_ICMS;
        END                   
    IF(NEW.FISCAL_VALOR_ICMS <> OLD.FISCAL_VALOR_ICMS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Vr.ICMS:'||OLD.FISCAL_VALOR_ICMS||' -> '||NEW.FISCAL_VALOR_ICMS;
        END                    
    IF(NEW.FISCAL_VALOR_IPI <> OLD.FISCAL_VALOR_IPI) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Vr.IPI:'||OLD.FISCAL_VALOR_IPI||' -> '||NEW.FISCAL_VALOR_IPI;
        END                 
    IF(NEW.FISCAL_VALOR_PIS <> OLD.FISCAL_VALOR_PIS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Fisc.Vr.PIS:'||OLD.FISCAL_VALOR_PIS||' -> '||NEW.FISCAL_VALOR_PIS;
        END                    
    IF(NEW.FISCAL_VALOR_COFINS <> OLD.FISCAL_VALOR_COFINS) THEN
        BEGIN   
            HISTORICO = HISTORICO||' Fisc.Vr.Cof:'||OLD.FISCAL_VALOR_COFINS||' -> '||NEW.FISCAL_VALOR_COFINS;
        END                       
    IF(NEW.FISCAL_PERCENTUAL_ICMS <> OLD.FISCAL_PERCENTUAL_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.%.Icms:'||OLD.FISCAL_PERCENTUAL_ICMS||' -> '||NEW.FISCAL_PERCENTUAL_ICMS;
        END                       
    IF(NEW.FISCAL_PERCENTUAL_IPI  <> OLD.FISCAL_PERCENTUAL_IPI) THEN
        BEGIN                     
            HISTORICO = HISTORICO||' Fisc.%.IPI:'||OLD.FISCAL_PERCENTUAL_IPI||' -> '||NEW.FISCAL_PERCENTUAL_IPI;
        END                       
    IF(NEW.FISCAL_PERCENTUAL_PIS  <> OLD.FISCAL_PERCENTUAL_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.%.PIS:'||OLD.FISCAL_PERCENTUAL_PIS||' -> '||NEW.FISCAL_PERCENTUAL_PIS;
        END
    IF(NEW.FISCAL_PERCENTUAL_COFINS <> OLD.FISCAL_PERCENTUAL_COFINS) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Fisc.%.Cof:'||OLD.FISCAL_PERCENTUAL_COFINS||' -> '||NEW.FISCAL_PERCENTUAL_COFINS;
        END                         
    IF(NEW.FISCAL_BASECALCULO_ICMS <> OLD.FISCAL_BASECALCULO_ICMS) THEN
        BEGIN                           
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.ICMS:'||OLD.FISCAL_BASECALCULO_ICMS||' -> '||NEW.FISCAL_BASECALCULO_ICMS;
        END                         
    IF(NEW.FISCAL_BASECALCULO_IPI <> OLD.FISCAL_BASECALCULO_IPI) THEN
        BEGIN                           
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.IPI:'||OLD.FISCAL_BASECALCULO_IPI||' -> '||NEW.FISCAL_BASECALCULO_IPI;
        END                         
    IF(NEW.FISCAL_BASECALCULO_PIS <> OLD.FISCAL_BASECALCULO_PIS) THEN
        BEGIN    
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.PIS:'||OLD.FISCAL_BASECALCULO_PIS||' -> '||NEW.FISCAL_BASECALCULO_PIS;
        END
    IF(NEW.FISCAL_BASECALCULO_COFINS  <> OLD.FISCAL_BASECALCULO_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.Bs.Calc.Cofins:'||OLD.FISCAL_BASECALCULO_COFINS||' -> '||NEW.FISCAL_BASECALCULO_COFINS;
        END
    IF(NEW.VALOR_ICMS <> OLD.VALOR_ICMS) THEN
        BEGIN           
            HISTORICO = HISTORICO||' Vr.ICMS:'||OLD.VALOR_ICMS||' -> '||NEW.VALOR_ICMS;
        END
    IF(NEW.FISCAL_TRIBUTACAO_ORIGEM <> OLD.FISCAL_TRIBUTACAO_ORIGEM) THEN
        BEGIN           
            HISTORICO = HISTORICO||' Fisc.Trib.Origem:'||OLD.FISCAL_TRIBUTACAO_ORIGEM||' -> '||NEW.FISCAL_TRIBUTACAO_ORIGEM;
        END                         
    IF(NEW.FISCAL_TRIBUTACAO_ICMS <> OLD.FISCAL_TRIBUTACAO_ICMS) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Trib.ICMS:'||OLD.FISCAL_TRIBUTACAO_ICMS||' -> '||NEW.FISCAL_TRIBUTACAO_ICMS;
        END                         
    IF(NEW.FISCAL_TRIBUTACAO_IPI <> OLD.FISCAL_TRIBUTACAO_IPI) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.Trib.IPI:'||OLD.FISCAL_TRIBUTACAO_IPI||' -> '||NEW.FISCAL_TRIBUTACAO_IPI;
        END                      
    IF(NEW.FISCAL_TRIBUTACAO_PIS <> OLD.FISCAL_TRIBUTACAO_PIS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.Trib.PIS:'||OLD.FISCAL_TRIBUTACAO_PIS||' -> '||NEW.FISCAL_TRIBUTACAO_PIS;
        END                         
    IF(NEW.FISCAL_TRIBUTACAO_COFINS <> OLD.FISCAL_TRIBUTACAO_COFINS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.Trib.Cof:'||OLD.FISCAL_TRIBUTACAO_COFINS||' -> '||NEW.FISCAL_TRIBUTACAO_COFINS;
        END                         
    IF(NEW.FISCAL_CFOP_CODIGO <> OLD.FISCAL_CFOP_CODIGO) THEN
        BEGIN
            HISTORICO = HISTORICO||' Fisc.CFOP:'||OLD.FISCAL_CFOP_CODIGO||' -> '||NEW.FISCAL_CFOP_CODIGO;
        END                   
    IF(NEW.VALOR_CONTABIL <> OLD.VALOR_CONTABIL) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Contabil:'||OLD.VALOR_CONTABIL||' -> '||NEW.VALOR_CONTABIL;
        END                    
    IF(NEW.VALOR_PEDAGIO <> OLD.VALOR_PEDAGIO) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.Pedagio:'||OLD.VALOR_PEDAGIO||' -> '||NEW.VALOR_PEDAGIO;
        END
    IF(NEW.DESCONTO_BASECALCULO_ICMS <> OLD.DESCONTO_BASECALCULO_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Desc.Bs.Calc.Cof:'||OLD.DESCONTO_BASECALCULO_ICMS||' -> '||NEW.DESCONTO_BASECALCULO_ICMS;
        END
    IF(NEW.VALOR_BASECALCULO_ICMS <> OLD.VALOR_BASECALCULO_ICMS) THEN
        BEGIN
            HISTORICO = HISTORICO||' Vr.BS.Calc.ICMS:'||OLD.VALOR_BASECALCULO_ICMS||' -> '||NEW.VALOR_BASECALCULO_ICMS;
        END
    IF(NEW.MODALIDADE_ICMS <> OLD.MODALIDADE_ICMS) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Mod.ICMS:'||OLD.MODALIDADE_ICMS||' -> '||NEW.MODALIDADE_ICMS;
        END                    
    IF(NEW.MODALIDADE_ICMS_ST <> OLD.MODALIDADE_ICMS_ST) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Mod.ICMS.St:'||OLD.MODALIDADE_ICMS_ST||' -> '||NEW.MODALIDADE_ICMS_ST;
        END                    
    IF(NEW.MARGEM_ICMS_ST <> OLD.MARGEM_ICMS_ST) THEN
        BEGIN              
            HISTORICO = HISTORICO||' Marg.ICMS.St:'||OLD.MARGEM_ICMS_ST||' -> '||NEW.MARGEM_ICMS_ST;
        END                
    IF(NEW.REDUCAO_ICMS_ST <> OLD.REDUCAO_ICMS_ST) THEN
        BEGIN                  
            HISTORICO = HISTORICO||' Red.ICMS.St:'||OLD.REDUCAO_ICMS_ST||' -> '||NEW.REDUCAO_ICMS_ST;
        END                    
    IF(NEW.BASECALCULO_ICMS_ST <> OLD.BASECALCULO_ICMS_ST) THEN
        BEGIN                  
            HISTORICO = HISTORICO||'BS.Calc.ICMS.St:'||OLD.BASECALCULO_ICMS_ST||' -> '||NEW.BASECALCULO_ICMS_ST;
        END                    
    IF(NEW.ALIQUOTA_ICMS_ST <> OLD.ALIQUOTA_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Aliq.ICMS.St:'||OLD.ALIQUOTA_ICMS_ST||' -> '||NEW.ALIQUOTA_ICMS_ST;
        END                 
    IF(NEW.VALOR_ICMS_ST <> OLD.VALOR_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Vl.ICMS.St:'||OLD.VALOR_ICMS_ST||' -> '||NEW.VALOR_ICMS_ST;
        END
    IF(NEW.INFORMACOES_COMPLEMENTARES <> OLD.INFORMACOES_COMPLEMENTARES) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Inf.Comp:'||OLD.INFORMACOES_COMPLEMENTARES||' -> '||NEW.INFORMACOES_COMPLEMENTARES;
        END 
    IF(NEW.BASECALCULO_FCI <> OLD.BASECALCULO_FCI) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Bs.Calc.FCI:'||OLD.BASECALCULO_FCI||' -> '||NEW.BASECALCULO_FCI;
        END
    IF(NEW.VALOR_FRETE <> OLD.VALOR_FRETE) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Vr.Frete:'||OLD.VALOR_FRETE||' -> '||NEW.VALOR_FRETE;
        END             
    IF(NEW.VALOR_SEGURO <> OLD.VALOR_SEGURO) THEN
        BEGIN                          
            HISTORICO = HISTORICO||' Vr.Seg:'||OLD.VALOR_SEGURO||' -> '||NEW.VALOR_SEGURO;
        END
    IF(NEW.FISCAL_REDUCAO_ICMS_ST <> OLD.FISCAL_REDUCAO_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Red.ICMS.St:'||OLD.FISCAL_REDUCAO_ICMS_ST||' -> '||NEW.FISCAL_REDUCAO_ICMS_ST;
        END
    IF(NEW.FISCAL_BASECALCULO_ICMS_ST <> OLD.FISCAL_BASECALCULO_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Bs.ICMS.St:'||OLD.FISCAL_BASECALCULO_ICMS_ST||' -> '||NEW.FISCAL_BASECALCULO_ICMS_ST;
        END
    IF(NEW.FISCAL_ALIQUOTA_ICMS_ST <> OLD.FISCAL_ALIQUOTA_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Aliq.ICMS.St:'||OLD.FISCAL_ALIQUOTA_ICMS_ST||' -> '||NEW.FISCAL_ALIQUOTA_ICMS_ST;
        END
    IF(NEW.FISCAL_VALOR_ICMS_ST <> OLD.FISCAL_VALOR_ICMS_ST) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Fisc.Vr.ICMS.St:'||OLD.FISCAL_VALOR_ICMS_ST||' -> '||NEW.FISCAL_VALOR_ICMS_ST;
        END
    IF(NEW.DI_NVE <> OLD.DI_NVE) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.NVE:'||OLD.DI_NVE||' -> '||NEW.DI_NVE;
        END
    IF(NEW.DI_TIPO_VIA_TRANSP <> OLD.DI_TIPO_VIA_TRANSP) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.Tp.Via.Trsp:'||OLD.DI_TIPO_VIA_TRANSP||' -> '||NEW.DI_TIPO_VIA_TRANSP;
        END
    IF(NEW.DI_VALOR_AFRMM <> OLD.DI_VALOR_AFRMM) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.Vr.Afrmm:'||OLD.DI_VALOR_AFRMM||' -> '||NEW.DI_VALOR_AFRMM;
        END
    IF(NEW.DI_TIPO_INTERMEDIO <> OLD.DI_TIPO_INTERMEDIO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.Tp.Inter:'||OLD.DI_TIPO_INTERMEDIO||' -> '||NEW.DI_TIPO_INTERMEDIO;
        END
    IF(NEW.DI_CNPJ_INTERMEDIO <> OLD.DI_CNPJ_INTERMEDIO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.Cnpj.Inter:'||OLD.DI_CNPJ_INTERMEDIO||' -> '||NEW.DI_CNPJ_INTERMEDIO;
        END
    IF(NEW.DI_UF_INTERMEDIO <> OLD.DI_UF_INTERMEDIO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.UF.Inter:'||OLD.DI_UF_INTERMEDIO||' -> '||NEW.DI_UF_INTERMEDIO;
        END
    IF(NEW.DI_NUMERO_DRAWBACK <> OLD.DI_NUMERO_DRAWBACK) THEN
        BEGIN               
            HISTORICO = HISTORICO||' DI.Num.Drawbck:'||OLD.DI_NUMERO_DRAWBACK||' -> '||NEW.DI_NUMERO_DRAWBACK;
        END
    IF(NEW.CONTA_CONTABIL <> OLD.CONTA_CONTABIL) THEN
        BEGIN                            
            HISTORICO = HISTORICO||' Conta Contab:'||OLD.CONTA_CONTABIL||' -> '||NEW.CONTA_CONTABIL;
        END               
    IF(NEW.CCUSTO <> OLD.CCUSTO) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' C.Custo:'||OLD.CCUSTO||' -> '||NEW.CCUSTO;
        END                    
    IF(NEW.ENQUADRAMENTO_IPI <> OLD.ENQUADRAMENTO_IPI) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Enqrd.IPI:'||OLD.ENQUADRAMENTO_IPI||' -> '||NEW.ENQUADRAMENTO_IPI;
        END                     
    IF(NEW.STATUS_REVISAO <> OLD.STATUS_REVISAO) THEN
        BEGIN                                 
            HISTORICO = HISTORICO||' Status.Rev:'||OLD.STATUS_REVISAO||' -> '||NEW.STATUS_REVISAO;
        END
    IF(NEW.VALOR_FRETE_RATEADO <> OLD.VALOR_FRETE_RATEADO) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Vr.Frete.Rt:'||OLD.VALOR_FRETE_RATEADO||' -> '||NEW.VALOR_FRETE_RATEADO;
        END
    IF(NEW.QUANTIDADE_ALTERNATIVA <> OLD.QUANTIDADE_ALTERNATIVA) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Qtd. Alter:'||OLD.QUANTIDADE_ALTERNATIVA||' -> '||NEW.QUANTIDADE_ALTERNATIVA;
        END                       
    IF(NEW.UM_ALTERNATIVA <> OLD.UM_ALTERNATIVA) THEN
        BEGIN                               
            HISTORICO = HISTORICO||' UM.Alter:'||OLD.UM_ALTERNATIVA||' -> '||NEW.UM_ALTERNATIVA;
        END                  
    IF(NEW.VALOR_ALTERNATIVO <> OLD.VALOR_ALTERNATIVO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Vr.Alter:'||OLD.VALOR_ALTERNATIVO||' -> '||NEW.VALOR_ALTERNATIVO;
        END                       
    IF(NEW.CUSTO_FRETE_RATEADO <> OLD.CUSTO_FRETE_RATEADO) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Cst.Frete.Rt:'||OLD.CUSTO_FRETE_RATEADO||' -> '||NEW.CUSTO_FRETE_RATEADO;
        END                        
    IF(NEW.ESTOQUE_ID <> OLD.ESTOQUE_ID) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Estoq.ID:'||OLD.ESTOQUE_ID||' -> '||NEW.ESTOQUE_ID;
        END                       
    IF(NEW.MARGEM_ICMS_ST <> OLD.MARGEM_ICMS_ST) THEN
        BEGIN                                    
            HISTORICO = HISTORICO||' Mrg.ICMS.St:'||OLD.MARGEM_ICMS_ST||' -> '||NEW.MARGEM_ICMS_ST;
        END                       
    IF(NEW.REDUCAO_BASE_PISCOF <> OLD.REDUCAO_BASE_PISCOF) THEN
        BEGIN               
            HISTORICO = HISTORICO||' Red.Bs.PisCof:'||OLD.REDUCAO_BASE_PISCOF||' -> '||NEW.REDUCAO_BASE_PISCOF;
        END
    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'Item:'||NEW.SEQUENCIA||' alterado. '||HISTORICO;
        HISTORICO = FN_ELIPSES(HISTORICO,500);
        EXECUTE PROCEDURE SPI_HISTORICO('TBNFE', NEW.NFE_CONTROLE, HISTORICO);
    END
END
^

SET TERM ; ^

/********** Drop dos Campos ************/

ALTER TABLE TBFAMILIA DROP UNIDADEMEDIDA_SIGLA2;
ALTER TABLE TBFAMILIA DROP UNIDADEMEDIDA_ALTERNATIVO2;
ALTER TABLE TBMODELO DROP UNIDADEMEDIDA_SIGLA2;
ALTER TABLE TBPRODUTO DROP UNIDADEMEDIDA_SIGLA2;
ALTER TABLE TBNFS_ITEM DROP UM_ALTERNATIVA2;
ALTER TABLE TBNFS_ITEM DROP PRODUTO_UNIDADEMEDIDA2;
ALTER TABLE TBNFE_ITEM DROP UM_ALTERNATIVA2;
ALTER TABLE TBNFE_ITEM DROP PRODUTO_UNIDADEMEDIDA2;
ALTER TABLE TBOC_ITEM DROP UM_ALTERNATIVA2;
ALTER TABLE TBPEDIDO_ITEM DROP UM_ALTERNATIVA2;
ALTER TABLE TBPDV_CFE_ITEM DROP UM2;

/***********************************************************/
/***********************************************************/
/********** Reativação das triggers de bloqueio ************/

ALTER TRIGGER TTBFAMILIA00IU ACTIVE;
ALTER TRIGGER TTBFAMILIA_B0IU ACTIVE;
ALTER TRIGGER TTBFAMILIA_B1U ACTIVE;
ALTER TRIGGER TTBFAMILIA_B9U ACTIVE;
ALTER TRIGGER TTBFAMILIA_999 ACTIVE;

ALTER TRIGGER TTBMODELO00IU ACTIVE;
ALTER TRIGGER TTBMODELO_B01IU ACTIVE;
ALTER TRIGGER TTMODELO_B0U_01 ACTIVE;
ALTER TRIGGER TTMODELO_B1U_01 ACTIVE;
ALTER TRIGGER TTBMODELO_B08UI ACTIVE;
ALTER TRIGGER TTBMODELO_B10U ACTIVE;
ALTER TRIGGER TTMODELO_B9U ACTIVE;
ALTER TRIGGER TTBMODELO_BIUD998 ACTIVE;
ALTER TRIGGER TTBMODELO_999 ACTIVE;
ALTER TRIGGER TTBMODELO_BIUD_API ACTIVE;

ALTER TRIGGER TTBPRODUTO_B03IU ACTIVE;
ALTER TRIGGER TTBPRODUTO_B0U_01 ACTIVE;
ALTER TRIGGER TTBPRODUTO_B1U ACTIVE;
ALTER TRIGGER TTBPRODUTO_BIU2 ACTIVE;
ALTER TRIGGER TTBPRODUTO_BIU5 ACTIVE;
ALTER TRIGGER TTBPRODUTO_B9U ACTIVE;
ALTER TRIGGER TTBPRODUTO_B01U ACTIVE;
ALTER TRIGGER TTBPRODUTO_999 ACTIVE;
ALTER TRIGGER TTBPRODUTO_BIUD_API ACTIVE;

ALTER TRIGGER TTBNFS_ITEM_B0U_01 ACTIVE;
ALTER TRIGGER TTBNFS_ITEM_B1U ACTIVE;
ALTER TRIGGER TTBNFS_ITEM_BU4 ACTIVE;
ALTER TRIGGER TTBNFS_ITEM_B2U ACTIVE;
ALTER TRIGGER TTBNFS_ITEM_B3I ACTIVE;
ALTER TRIGGER TBNFS_ITEM_B04U ACTIVE;
ALTER TRIGGER TBNFS_ITEM_B06IU ACTIVE;
ALTER TRIGGER TBNFS_ITEM_B07IU ACTIVE;
ALTER TRIGGER TTBNFS_ITEM_B08U ACTIVE;
ALTER TRIGGER TTBNFS_ITEM_999 ACTIVE;

ALTER TRIGGER TTBNFE_ITEM_B0U_01 ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_B10U ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_B2U ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_B2U_01 ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_B3U ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_B4U ACTIVE;
ALTER TRIGGER TBNFE_ITEM_B07IU ACTIVE;
ALTER TRIGGER TBNFE_ITEM_B08IU ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_B09U ACTIVE;
ALTER TRIGGER TTBNFE_ITEM_999 ACTIVE;

ALTER TRIGGER TBOC_ITEM_B05UI ACTIVE;
ALTER TRIGGER TTBOC_ITEM_999 ACTIVE;
ALTER TRIGGER TTBOC_ITEM_B1U_01 ACTIVE;
ALTER TRIGGER TTBOC_ITEM_B04U ACTIVE;
ALTER TRIGGER TTBOC_ITEM_B0IU_01 ACTIVE;

ALTER TRIGGER TTBPEDIDO_ITEM_999 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B0U_02 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B0U_01 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B0U_00 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM00IU ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B3U_02 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B4U_01 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_BU_11 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_BIUD998 ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B10U ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B1U ACTIVE;
ALTER TRIGGER TTBPEDIDO_ITEM_B9U ACTIVE;

ALTER TRIGGER TTBPDV_CFE_ITEM_B09U ACTIVE;
ALTER TRIGGER TTBPDV_CFE_ITEM_999 ACTIVE;