SET TERM ^ ;

CREATE OR ALTER procedure SPUI_CONFIGURACAO_MDF
as
declare variable ESTABELECIMENTO_ID integer;
declare variable SERIE integer;
declare variable AMBIENTE integer;
declare variable CERTIFICADO_FILE blob sub_type 0 segment size 80;
declare variable CERTIFICADO_NOME varchar(200);
declare variable CERTIFICADO_SENHA varchar(20);
declare variable CERTIFICADO_VALIDADE date;
declare variable GENERATOR_MDF varchar(16);
BEGIN
    
    FOR SELECT
        T.ESTABELECIMENTO_ID,
        T.SERIE,
        T.AMBIENTE,
        T.CERTIFICADO_FILE,
        T.CERTIFICADO_NOME,
        T.CERTIFICADO_SENHA,
        T.CERTIFICADO_VALIDADE,
        T."GENERATOR"
    FROM TBCONFIGURACAO_MDF T
    INTO :ESTABELECIMENTO_ID, :SERIE, :AMBIENTE, :CERTIFICADO_FILE, :CERTIFICADO_NOME,
    :CERTIFICADO_SENHA, :CERTIFICADO_VALIDADE, :GENERATOR_MDF
    DO BEGIN

        UPDATE OR INSERT INTO TBCONFIGURACAO_NF (ESTABELECIMENTO_ID, SERIE, AMBIENTE, TIPO, CERTIFICADO_FILE,
            CERTIFICADO_NOME, CERTIFICADO_SENHA, "GENERATOR", CERTIFICADO_VALIDADE, NATUREZA, ESPECIE, STATUS)
        VALUES (:ESTABELECIMENTO_ID, :SERIE, :AMBIENTE, 'S', :CERTIFICADO_FILE, :CERTIFICADO_NOME, :CERTIFICADO_SENHA,
                :GENERATOR_MDF, :CERTIFICADO_VALIDADE, 1, 58, 1)
        MATCHING (ESTABELECIMENTO_ID, SERIE, AMBIENTE, ESPECIE);


    END
    
END
^

SET TERM ; ^

