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;