<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Integração com sistema E-brigada para o cliente Randon]]></title><description><![CDATA[<p dir="auto"><strong>Solicitação: 24475</strong></p>
<p dir="auto"><strong>Integração com sistema E-brigada para o cliente Randon</strong></p>
<p dir="auto">Na solicitação 24475 foi criada a integração do Akita com o sistema E-brigada para o cliente Randon, onde são enviadas as informações de acesso de funcionários que são brigadistas para que seja informada a localização dos mesmos dentro da empresa para esse sistema terceiro.</p>
<p dir="auto">A informação de quem é brigadista é disponibilizada através de uma consulta nas tabelas do SAP que foi fornecida pelo cliente, a qual é atualizada diariamente para a tabela customizada PESSOAS_EBRIGADA_RANDON através da execução via job de banco da procedure PROC_GERA_PESSOAS_EBRIGADA.</p>
<p dir="auto">Foram criados dois parâmetros customizados para utilização nessa consulta:</p>
<ul>
<li><strong>LISTA_FILIAIS_EBRIGADA</strong> - contém a lista do código das filiais para as quais devem ser enviadas as informações ao sistema E-brigada (código separado por vírgula)</li>
<li><strong>LISTA_QUALIFICACOES_EBRIGADA</strong> - contém a lista dos códigos de qualificação que caracterizam a pessoa como um brigadista habilitado (códigos separados por vírgula)</li>
</ul>
<p dir="auto"><strong>Fluxo funcional:</strong></p>
<p dir="auto">Foi criada uma trigger customizada <code>TRIG_GERA_ACESSO_EBRIGADA</code> <strong>(AS24100)</strong> sobre a tabela <code>ACESSOS_PESSOAS</code>. Nessa trigger é realizada a inclusão do registro de acesso na tabela customizada <code>PONTEIROS_ACESSOS_EBRIGADA</code> para todos os acessos autorizados dos tipos "E" (Entrada) ou "S" (Saída).</p>
<p dir="auto">O fluxo segue através da execução do job customizado <strong>AS24120</strong> que a cada execução irá buscar os registros com status_processamento = Aguardando na tabela customizada <code>PONTEIROS_ACESSOS_EBRIGADA</code>, irá verificar se o acesso pertence a um brigadista (verificando na tabela customizada <code>PESSOAS_EBRIGADA_RANDON</code>) e nesse caso irá incluir o registro na tabela customizada <code>ACESSOS_EBRIGADA_RANDON</code>.<br />
Essa operação ocorre através da procedure customizada <code>PROC_GERA_ACESSOS_EBRIGADA</code> <strong>(AS24110)</strong> que é chamada pelo job.</p>
<p dir="auto">Os registros na tabela customizada <code>ACESSOS_EBRIGADA_RANDON</code> são processados pela api <code>akitasoft-ebrigada-randon-api</code>, já descrita neste outro post: <a href="https://forum.insoft4.com/topic/321/akitasoft-ebrigada-randon-api" rel="nofollow ugc">https://forum.insoft4.com/topic/321/akitasoft-ebrigada-randon-api</a></p>
<p dir="auto"><strong>Scripts e objetos envolvidos:</strong></p>
<p dir="auto">OS11042.sql</p>
<pre><code>PROMPT Criando tabela customizada para integração com API E-Brigada...

CREATE TABLE ACESSOS_EBRIGADA_RANDON
(
  ID                    NUMBER(19)  NOT NULL,
  MATRICULA             NUMBER(10)  NOT NULL,
  COD_RELOGIO           NUMBER(4) NOT NULL,
  DATA_HORA_ACESSO      DATE NOT NULL,
  TIPO_ACESSO           VARCHAR2(1) NOT NULL,
  RELOGIO_SAIDA_EMPRESA VARCHAR2(1) NOT NULL,
  COD_HORARIO_TRABALHO  NUMBER(5),
  ENVIADO_EBRIGADA      VARCHAR2(1) NOT NULL,
  MENSAGEM_ERRO         VARCHAR2(4000)
) TABLESPACE &amp;PONTO_DATA
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.ID IS 'Identificador único do registro'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.MATRICULA IS 'Matrícula do brigadista'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.COD_RELOGIO IS 'Código do equipamento de acesso'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.DATA_HORA_ACESSO IS 'Data e hora do acesso'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.TIPO_ACESSO IS 'Tipo de Acesso - (E)ntrada ou (S)aída'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.RELOGIO_SAIDA_EMPRESA IS 'Indica se o equipamento de acesso é na saída da empresa'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.COD_HORARIO_TRABALHO IS 'Código do horário de trabalho do brigadista'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.ENVIADO_EBRIGADA IS 'Indica se o registro já foi replicado para o sistema E-brigada'
/

COMMENT ON COLUMN ACESSOS_EBRIGADA_RANDON.MENSAGEM_ERRO IS 'Informa a mensagem de erro retornada pela API, quando houver'
/

ALTER TABLE ACESSOS_EBRIGADA_RANDON
ADD CONSTRAINT ACS_BRG_RANDON_PK PRIMARY KEY (ID)
USING INDEX TABLESPACE &amp;PONTO_NDX
/

CREATE SEQUENCE SEQ_ACESSOS_EBRIGADA_RANDON
MINVALUE 1
MAXVALUE 9999999999999999999
START WITH 1
INCREMENT BY 1
NOCACHE
/


CREATE TABLE PONTEIROS_ACESSOS_EBRIGADA
(
  ID                   NUMBER(19) NOT NULL,
  TCP_ID               NUMBER(19) NOT NULL,
  DATA_ACESSO          DATE NOT NULL,
  TIPO_ACESSO          VARCHAR2(1) NOT NULL,
  COD_RELOGIO          NUMBER(4) NOT NULL,
  STATUS_PROCESSAMENTO VARCHAR2(1) NOT NULL
) TABLESPACE &amp;PONTO_DATA
/

COMMENT ON COLUMN PONTEIROS_ACESSOS_EBRIGADA.ID IS 'Identificador único do registro. Mesmo identificador da tabela ACESSOS_PESSOAS'
/

COMMENT ON COLUMN PONTEIROS_ACESSOS_EBRIGADA.TCP_ID IS 'Identifica o histórico da pessoa'
/

COMMENT ON COLUMN PONTEIROS_ACESSOS_EBRIGADA.DATA_ACESSO IS 'Data e hora do acesso'
/

COMMENT ON COLUMN PONTEIROS_ACESSOS_EBRIGADA.TIPO_ACESSO IS 'Tipo de Acesso - (E)ntrada ou (S)aída'
/

COMMENT ON COLUMN PONTEIROS_ACESSOS_EBRIGADA.COD_RELOGIO IS 'Código do equipamento onde ocorreu o acesso'
/

COMMENT ON COLUMN PONTEIROS_ACESSOS_EBRIGADA.STATUS_PROCESSAMENTO IS 'Status do processamento do registro - (A)guardando, (P)rocessando, (F)inalizado'
/

ALTER TABLE PONTEIROS_ACESSOS_EBRIGADA
ADD CONSTRAINT PNT_ACS_EBRIGADA_PK PRIMARY KEY (ID)
USING INDEX TABLESPACE &amp;PONTO_NDX
/

CREATE TABLE PESSOAS_EBRIGADA_RANDON
(
  MATRICULA   NUMBER(10) NOT NULL,
  COD_EMPRESA VARCHAR2(6) NOT NULL,
  NOME        VARCHAR2(60)
) TABLESPACE &amp;PONTO_DATA
/

COMMENT ON COLUMN PESSOAS_EBRIGADA_RANDON.MATRICULA IS 'Matrícula do brigadista'
/

COMMENT ON COLUMN PESSOAS_EBRIGADA_RANDON.COD_EMPRESA IS 'Código da empresa do brigadista'
/

COMMENT ON COLUMN PESSOAS_EBRIGADA_RANDON.NOME IS 'Nome do brigadista'
/

ALTER TABLE PESSOAS_EBRIGADA_RANDON
ADD CONSTRAINT PSS_EBRIG_RANDON_PK PRIMARY KEY (MATRICULA, COD_EMPRESA)
USING INDEX TABLESPACE &amp;PONTO_NDX
/

</code></pre>
<p dir="auto">OS11042.atz</p>
<pre><code>PROMPT Criando parâmetros customizados para integração com API E-Brigada...

insert into parametros_customizados_pontos (nome_parametro, valor_parametro, descr_parametro)
values ( 'URL_API_EBRIGADA', 'https://sandbox.e-brigada.com.br/api/', 'URL da API de integração com o sistema E-Brigada')
/

insert into parametros_customizados_pontos (nome_parametro, valor_parametro, descr_parametro)
values ( 'USUARIO_API_EBRIGADA', 'api.frasle@e-brigada.com.br', 'Usuário para conexão com a API de integração com o sistema E-Brigada')
/

insert into parametros_customizados_pontos (nome_parametro, valor_parametro, descr_parametro)
values ( 'SENHA_API_EBRIGADA', '15AT@frasle', 'Senha para conexão com a API de integração com o sistema E-Brigada')
/

insert into parametros_customizados_pontos (nome_parametro, valor_parametro, descr_parametro)
values ( 'LISTA_FILIAIS_EBRIGADA', 'FR01', 'Lista de filiais utilizada na consuolta da view V_PESSOAS_EBRIGADA_RANDON para integração com o sistema E-Brigada')
/

insert into parametros_customizados_pontos (nome_parametro, valor_parametro, descr_parametro)
values ( 'LISTA_QUALIFICACOES_EBRIGADA', '50002613,50002614', 'Lista de qualificações utilizada na consuolta da view V_PESSOAS_EBRIGADA_RANDON para integração com o sistema E-Brigada')
/

commit
/
</code></pre>
<p dir="auto">AS24100.trg</p>
<pre><code>create or replace trigger trig_gera_acesso_ebrigada
 after insert
 on acessos_pessoas
 for each row
 --------------------------------- VERSAO CUSTOMIZADA ESPECÍFICA ---------------------------------
  -- OS11042, 08/08/2024, Jonathan. Criacao do objeto.
  --
declare
--
cursor c_autorizado is
  select s.acesso_autorizado
  from   status_acessos_pessoas s
  where  s.status_acesso = :new.status_acesso;
--
vacesso_autorizado status_acessos_pessoas.acesso_autorizado%type;
--
begin
  --
  if :new.tipo_acesso in ('E','S') then
    --
    open c_autorizado;
      fetch c_autorizado into vacesso_autorizado;
    close c_autorizado;
    --
    if vacesso_autorizado = 'S' then
      --
      insert into ponteiros_acessos_ebrigada ( id,
                                               tcp_id,
                                               data_acesso,
                                               tipo_acesso,
                                               cod_relogio,
                                               status_processamento )
      values ( :new.id,
               :new.tcp_id,
               :new.data_acesso,
               :new.tipo_acesso,
               :new.cod_relogio,
               'A' );
      --
    end if;
    --
  end if;
  --
end trig_gera_acesso_ebrigada;
/
</code></pre>
<p dir="auto">AS24110.prc</p>
<pre><code>create or replace procedure proc_gera_acessos_ebrigada is
 --------------------------------- VERSAO CUSTOMIZADA ESPECÍFICA ---------------------------------
  -- OS11042, 12/08/2024, Jonathan. Criacao do objeto.
  --
cursor c_brigadista (ptcp_id in number) is
  select fpp.matricula,
         fpp.cod_horario_trabalho
  from   pessoas_ebrigada_randon        per,
         funcionarios_parametros_pontos fpp
  where  fpp.tcp_id = ptcp_id
  and    per.matricula = fpp.matricula
  and    per.cod_empresa = fpp.cod_empresa;
--
r_brigadista c_brigadista%rowtype;
--
cursor c_relogio (pcod_relogio in number) is
  select ra.saida_empresa
  from   relogios_acessos ra
  where  ra.cod_relogio = pcod_relogio;
--
vrelogio_saida_empresa relogios_acessos.saida_empresa%type;
--
begin
  --
  for vreg in ( select p.id,
                       p.tcp_id,
                       p.data_acesso,
                       p.tipo_acesso,
                       p.cod_relogio,
                       p.status_processamento
                from   ponteiros_acessos_ebrigada p
                where  p.status_processamento = 'A'
                order by p.data_acesso asc 
                for update )
  loop
    --
    update ponteiros_acessos_ebrigada
    set    status_processamento = 'P'
    where  id = vreg.id;
    --
    r_brigadista := null;
    --
    open c_brigadista (vreg.tcp_id);
      fetch c_brigadista into r_brigadista;
      if c_brigadista%found then
        --
        vrelogio_saida_empresa := 'N';
        open c_relogio (vreg.cod_relogio);
          fetch c_relogio into vrelogio_saida_empresa;
        close c_relogio;
        --
        insert into acessos_ebrigada_randon ( id,
                                              matricula,
                                              cod_relogio,
                                              data_hora_acesso,
                                              tipo_acesso,
                                              relogio_saida_empresa,
                                              cod_horario_trabalho,
                                              enviado_ebrigada )
        values ( seq_acessos_ebrigada_randon.nextval,
                 r_brigadista.matricula,
                 vreg.cod_relogio,
                 vreg.data_acesso,
                 vreg.tipo_acesso,
                 vrelogio_saida_empresa,
                 r_brigadista.cod_horario_trabalho,
                 'N' );
        --
      end if;
    close c_brigadista;
    --
    update ponteiros_acessos_ebrigada
    set    status_processamento = 'F'
    where  id = vreg.id;
    --
    commit;
    --
  end loop;
  --
end proc_gera_acessos_ebrigada;
/
</code></pre>
<p dir="auto">AS24120.job</p>
<pre><code>PROMPT Cadastrando JOB para geração de dados de acesso para o sistema E-brigada...
SET SERVEROUTPUT ON SIZE 100000
DECLARE
  --
  VJOB       NUMBER;
  VCJP_NRO   NUMBER;
  VATUALIZA  BOOLEAN                                        := TRUE;
  VDESCRICAO CADASTROS_JOBS_PONTOS.DESCRICAO_JOB%TYPE       := 'Gera acessos E-brigada';
  VNOME_JOB  CADASTROS_JOBS_PONTOS.NOME_JOB%TYPE            := 'PROC_GERA_ACESSOS_EBRIGADA';
  VACAO_JOB  CADASTROS_JOBS_PONTOS.ACAO%TYPE                := 'PROC_GERA_ACESSOS_EBRIGADA';
  VINTERVAL  CADASTROS_JOBS_PONTOS.EXPRESSAO_INTERVALO%TYPE := 'SYSDATE+3/1440';
  PACAO_JOB  CADASTROS_JOBS_PONTOS.ACAO%TYPE;
  XACAO_JOB  CADASTROS_JOBS_PONTOS.ACAO%TYPE                := 'BEGIN NULL; END;';
  VDATA_INI  CADASTROS_JOBS_PONTOS.DATA_INICIAL_EXECUCAO%TYPE := SYSDATE+3/1440;
  --
  CURSOR CJOB IS
    SELECT JOB
         , INTERVAL
         , NEXT_DATE
      FROM USER_JOBS
     WHERE UPPER(WHAT) LIKE '%'||VACAO_JOB||'%'
       AND UPPER(WHAT) NOT LIKE '%JOBNAME%';
  --
  CURSOR C_CJP IS
    SELECT CJP.NRO_JOB
      FROM CADASTROS_JOBS_PONTOS CJP
     WHERE CJP.NOME_JOB = VNOME_JOB;
  --
BEGIN
  --
  OPEN CJOB;
  FETCH CJOB INTO VJOB, VINTERVAL, VDATA_INI;
    --
    IF CJOB%FOUND THEN
      --
      DBMS_OUTPUT.PUT_LINE('JOB já existente no cliente: '|| TO_CHAR(VJOB));
      --
      VATUALIZA := FALSE;
      --
      PACAO_JOB := PACK_JOB_PONTO.MONTA_ACAO_JOB('J',VNOME_JOB,''''||VACAO_JOB||'''',VDESCRICAO,NULL,'S',VJOB);
      --
      DBMS_JOB.REMOVE(VJOB);
      DBMS_JOB.ISUBMIT(VJOB, PACAO_JOB, VDATA_INI, VINTERVAL);
      --
    ELSE
      --
      DBMS_JOB.SUBMIT(VJOB, XACAO_JOB, VDATA_INI, VINTERVAL);
      DBMS_JOB.REMOVE(VJOB);
      --
      PACAO_JOB := PACK_JOB_PONTO.MONTA_ACAO_JOB('J',VNOME_JOB,''''||VACAO_JOB||'''',VDESCRICAO,NULL,'S',VJOB);
      --
      DBMS_JOB.ISUBMIT(VJOB, PACAO_JOB, VDATA_INI, VINTERVAL);
      --
      DBMS_OUTPUT.PUT_LINE('JOB Criado: '|| TO_CHAR(VJOB));
      --    
    END IF;
    --
  CLOSE CJOB;
  --
  BEGIN
    --
    OPEN C_CJP;
    FETCH C_CJP INTO VCJP_NRO;
      --
      IF C_CJP%FOUND THEN
        --
        DBMS_OUTPUT.PUT_LINE('JOB já existente na versão Full Web: '|| TO_CHAR(VCJP_NRO));
        --
      ELSE
        --
        INSERT INTO CADASTROS_JOBS_PONTOS(NRO_JOB
                                         ,NOME_JOB
                                         ,ACAO
                                         ,DATA_INICIAL_EXECUCAO
                                         ,DATA_FINAL_EXECUCAO
                                         ,EXPRESSAO_INTERVALO
                                         ,HABILITADO
                                         ,DESCRICAO_JOB
                                         ,EMAIL
                                         ,GERA_LOG_SOMENTE_ERRO
                                         ,REINICIAVEL
                                         ,VERSION)
                                  VALUES (SEQ_CADASTROS_JOBS_PONTOS.NEXTVAL
                                         ,VNOME_JOB
                                         ,VACAO_JOB
                                         ,VDATA_INI
                                         ,NULL
                                         ,VINTERVAL
                                         ,'S'
                                         ,VDESCRICAO
                                         ,NULL
                                         ,'S'
                                         ,'S'
                                         ,0)
                               RETURNING NRO_JOB
                                    INTO VCJP_NRO;
        --
        DBMS_OUTPUT.PUT_LINE('JOB versão Full Web Cadastrado: '|| TO_CHAR(VCJP_NRO));
        --
        IF VATUALIZA THEN
          --
          PACK_JOB_PONTO.ATUALIZA_JOB_BANCO( 'I'
                                           , VNOME_JOB
                                           , ''''||VACAO_JOB||''''
                                           , VDATA_INI
                                           , NULL
                                           , VINTERVAL
                                           , 'S'
                                           , VDESCRICAO
                                           , NULL
                                           , 'S'
                                           , 'S'
                                           , VJOB );
          --
        END IF;
        --      
      END IF;
      --
    CLOSE C_CJP;
    --
  END;  
  --
  COMMIT;
  --
END;
/
</code></pre>
<p dir="auto">AS24140.prc</p>
<pre><code>create or replace procedure proc_gera_pessoas_ebrigada is
 --------------------------------- VERSAO CUSTOMIZADA ESPECÍFICA ---------------------------------
  -- OS11042, 15/08/2024, Jonathan. Criacao do objeto.
  --
begin
  --
  delete pessoas_ebrigada_randon;
  --
  for vreg in ( select liga.objid MATRICULA,
                       sap.empr as COD_EMPRESA,
                       sap.nome NOME
                from   sistemas.e1p1001 liga,
                       sistemas.funcionarios_sap sap
                where  liga.objid = sap.matr
                and    pack_util.consta_lista(pack_util.valor_param_customizado('LISTA_FILIAIS_EBRIGADA',sap.arearh)) = 'S'
                and    liga.sclas = 'Q'
                and    pack_util.consta_lista(pack_util.valor_param_customizado('LISTA_QUALIFICACOES_EBRIGADA',liga.sobid)) = 'S'
                and    liga.endda &gt; sysdate )
  loop
    --
    begin
      --
      insert into pessoas_ebrigada_randon ( matricula, 
                                            cod_empresa,
                                            nome )
      values ( vreg.matricula,
               vreg.cod_empresa,
               vreg.nome );
      --
    exception
      when dup_val_on_index then
        null;
    end;
    --
  end loop;
  --
  commit;
  --
end proc_gera_pessoas_ebrigada;
/
</code></pre>
<p dir="auto">AS24130.job</p>
<pre><code>PROMPT Cadastrando JOB para geração de dados de pessoas integração com o sistema E-brigada...
SET SERVEROUTPUT ON SIZE 100000
DECLARE
  --
  VJOB       NUMBER;
  VCJP_NRO   NUMBER;
  VATUALIZA  BOOLEAN                                        := TRUE;
  VDESCRICAO CADASTROS_JOBS_PONTOS.DESCRICAO_JOB%TYPE       := 'Gera pessoas E-brigada';
  VNOME_JOB  CADASTROS_JOBS_PONTOS.NOME_JOB%TYPE            := 'PROC_GERA_PESSOAS_EBRIGADA';
  VACAO_JOB  CADASTROS_JOBS_PONTOS.ACAO%TYPE                := 'PROC_GERA_PESSOAS_EBRIGADA';
  VINTERVAL  CADASTROS_JOBS_PONTOS.EXPRESSAO_INTERVALO%TYPE := 'TRUNC(SYSDATE+1)+1/24';
  PACAO_JOB  CADASTROS_JOBS_PONTOS.ACAO%TYPE;
  XACAO_JOB  CADASTROS_JOBS_PONTOS.ACAO%TYPE                := 'BEGIN NULL; END;';
  VDATA_INI  CADASTROS_JOBS_PONTOS.DATA_INICIAL_EXECUCAO%TYPE := SYSDATE;
  --
  CURSOR CJOB IS
    SELECT JOB
         , INTERVAL
         , NEXT_DATE
      FROM USER_JOBS
     WHERE UPPER(WHAT) LIKE '%'||VACAO_JOB||'%'
       AND UPPER(WHAT) NOT LIKE '%JOBNAME%';
  --
  CURSOR C_CJP IS
    SELECT CJP.NRO_JOB
      FROM CADASTROS_JOBS_PONTOS CJP
     WHERE CJP.NOME_JOB = VNOME_JOB;
  --
BEGIN
  --
  OPEN CJOB;
  FETCH CJOB INTO VJOB, VINTERVAL, VDATA_INI;
    --
    IF CJOB%FOUND THEN
      --
      DBMS_OUTPUT.PUT_LINE('JOB já existente no cliente: '|| TO_CHAR(VJOB));
      --
      VATUALIZA := FALSE;
      --
      PACAO_JOB := PACK_JOB_PONTO.MONTA_ACAO_JOB('J',VNOME_JOB,''''||VACAO_JOB||'''',VDESCRICAO,NULL,'S',VJOB);
      --
      DBMS_JOB.REMOVE(VJOB);
      DBMS_JOB.ISUBMIT(VJOB, PACAO_JOB, VDATA_INI, VINTERVAL);
      --
    ELSE
      --
      DBMS_JOB.SUBMIT(VJOB, XACAO_JOB, VDATA_INI, VINTERVAL);
      DBMS_JOB.REMOVE(VJOB);
      --
      PACAO_JOB := PACK_JOB_PONTO.MONTA_ACAO_JOB('J',VNOME_JOB,''''||VACAO_JOB||'''',VDESCRICAO,NULL,'S',VJOB);
      --
      DBMS_JOB.ISUBMIT(VJOB, PACAO_JOB, VDATA_INI, VINTERVAL);
      --
      DBMS_OUTPUT.PUT_LINE('JOB Criado: '|| TO_CHAR(VJOB));
      --    
    END IF;
    --
  CLOSE CJOB;
  --
  BEGIN
    --
    OPEN C_CJP;
    FETCH C_CJP INTO VCJP_NRO;
      --
      IF C_CJP%FOUND THEN
        --
        DBMS_OUTPUT.PUT_LINE('JOB já existente na versão Full Web: '|| TO_CHAR(VCJP_NRO));
        --
      ELSE
        --
        INSERT INTO CADASTROS_JOBS_PONTOS(NRO_JOB
                                         ,NOME_JOB
                                         ,ACAO
                                         ,DATA_INICIAL_EXECUCAO
                                         ,DATA_FINAL_EXECUCAO
                                         ,EXPRESSAO_INTERVALO
                                         ,HABILITADO
                                         ,DESCRICAO_JOB
                                         ,EMAIL
                                         ,GERA_LOG_SOMENTE_ERRO
                                         ,REINICIAVEL
                                         ,VERSION)
                                  VALUES (SEQ_CADASTROS_JOBS_PONTOS.NEXTVAL
                                         ,VNOME_JOB
                                         ,VACAO_JOB
                                         ,VDATA_INI
                                         ,NULL
                                         ,VINTERVAL
                                         ,'S'
                                         ,VDESCRICAO
                                         ,NULL
                                         ,'S'
                                         ,'S'
                                         ,0)
                               RETURNING NRO_JOB
                                    INTO VCJP_NRO;
        --
        DBMS_OUTPUT.PUT_LINE('JOB versão Full Web Cadastrado: '|| TO_CHAR(VCJP_NRO));
        --
        IF VATUALIZA THEN
          --
          PACK_JOB_PONTO.ATUALIZA_JOB_BANCO( 'I'
                                           , VNOME_JOB
                                           , ''''||VACAO_JOB||''''
                                           , VDATA_INI
                                           , NULL
                                           , VINTERVAL
                                           , 'S'
                                           , VDESCRICAO
                                           , NULL
                                           , 'S'
                                           , 'S'
                                           , VJOB );
          --
        END IF;
        --      
      END IF;
      --
    CLOSE C_CJP;
    --
  END;  
  --
  COMMIT;
  --
END;
/
</code></pre>
<hr />
<p dir="auto">Objetos disponíveis na pasta O:\PONTO\Clientes\32.Randon\CustomizacoesEspecificas\PATCHS\OS11042</p>
]]></description><link>http://insoft-docker1:4567/topic/322/integração-com-sistema-e-brigada-para-o-cliente-randon</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 05:33:14 GMT</lastBuildDate><atom:link href="http://insoft-docker1:4567/topic/322.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Aug 2024 14:46:51 GMT</pubDate><ttl>60</ttl></channel></rss>