SET TERM ^ ;

CREATE OR ALTER procedure SPUI_NFS_EMBARQUE (
    ESTABELECIMENTO_CODIGO integer,
    NFS_CONTROLE integer,
    NUMERO_NOTAFISCAL integer,
    EMPRESA_CODIGO integer,
    DATA_EMISSAO date,
    TRANSPORTADORA_CODIGO integer,
    VOLUMES integer,
    ESPECIE varchar(10),
    PESO_BRUTO numeric(10,5),
    DATA_SAIDA date,
    HORA_SAIDA time,
    DATA_ENTREGA date,
    CONTATO varchar(20),
    PREVISAO_ENTREGA date)
as
BEGIN

UPDATE OR INSERT INTO TBNFS_EMBARQUE (ESTABELECIMENTO_CODIGO, NFS_CONTROLE, NUMERO_NOTAFISCAL, EMPRESA_CODIGO,
                                      DATA_EMISSAO, TRANSPORTADORA_CODIGO, VOLUMES, ESPECIE, PESO_BRUTO, DATA_SAIDA,
                                      HORA_SAIDA, DATA_ENTREGA, CONTATO, PREVISAO_ENTREGA)
VALUES (:ESTABELECIMENTO_CODIGO, :NFS_CONTROLE, :NUMERO_NOTAFISCAL, :EMPRESA_CODIGO, :DATA_EMISSAO,
        :TRANSPORTADORA_CODIGO, :VOLUMES, :ESPECIE, :PESO_BRUTO, :DATA_SAIDA, :HORA_SAIDA, :DATA_ENTREGA, :CONTATO, :PREVISAO_ENTREGA)
MATCHING (ESTABELECIMENTO_CODIGO, NFS_CONTROLE);

END
^

SET TERM ; ^

