BLV Técnico Versão 5.08
Boletim de Liberação de Versão
SISTEMA ERGON
Versão: 5.08
Pré requisitos do sistema:
Novas Características/Implementações
Mecanismo de Registros Pendentes
Visão do usuário:
A partir desta versão do sistema Ergon, está sendo disponibilizado um novo mecanismo para controle da efetivação de registros denominado "Mecanismo de Registros Pendentes".
Existem situações em que um registro (um afastamento, por exemplo) é lançado no sistema mas não deve ser considerado imediatamente para fins de cálculo, pois ele deve aguardar publicação no diário oficial.
O objetivo do mecanismo implementado é fazer com que esse registro, ao ser cadastrado, passe para uma situação de pendência. Posteriormente, através de uma tela de efetivação de registros pendentes (veja o item "Efetivação de Registros Pendentes" no BLV), usuários autorizados realizarão a efetivação desse registro. A partir daí, o registro será efetivado no sistema e passará a ser considerado para fins de cálculo.
As transações que necessitam desse comportamento foram alteradas de modo a que apareça um novo botão na barra de ferramentas do sistema (botão "Mostra Registros Pendentes").
Quando um registro for cadastrado nessa transação ele poderá ou não ir para uma situação de PENDENTE, de acordo com as parametrizações realizadas para os registros pendentes (veja o item "Parametrização de Registros Pendentes" no BLV). Caso ele vá para a situação de PENDENTE, ele poderá ser consultado através do botão "Mostra Registros Pendentes". Caso contrário, ele entrará diretamente na situação EFETIVADO, e poderá ser consultado pelo bloco principal da transação, como de costume.
Quando o registro vai para a situação PENDENTE, ele não é visível pelo bloco principal da transação em questão, apenas pelo botão "Mostra Registros Pendentes". Neste caso, após realizada a inserção do registro, uma mensagem de aviso será retornada ao usuário de forma a avisá-lo de que o registro foi cadastrado como PENDENTE. Neste momento, o registro cadastrado desaparecerá do bloco principal da transação.
Porém, podem ocorrer erros de consistência durante o cadastramento do registro. Neste caso, se o registro deve ser cadastrado como pendente, o usuário será informado do erro, mas terá a opção de ignorá-lo e cadastrar o registro assim mesmo. Este comportamento é útil pois existem casos em que o erro é gerado pelo fato de uma dependência deste registro ainda não ter sido efetivada. Assim, o registro irá para a situação de pendência e poderá ser efetivado a partir do momento em que sua dependência também tenha sido efetivada.
Após esta etapa, o registro pendente ficará no aguardo de uma autorização para efetivação. Esta autorização deverá ser realizada apenas por usuários autorizados, através da transação "Efetivação de Registros Pendentes" (veja item "Efetivação de Registros Pendentes" no BLV). Ao fazer isso, o sistema se encarrega de passar o registro da situação PENDENTE para a situação EFETIVADO, realizando todas as consistências novamente, para que não haja inconsistência de dados.
Ao passar para a situação EFETIVADO, o registro poderá ser consultado pelo bloco principal da sua transação origem, e não mais pelo botão "Mostra Registros Pendentes". Durante o processo de efetivação, também existe a opção de rejeição do registro. Neste caso, o registro será cancelado, não podendo mais ser efetivado e nem consultado pela lista de registros pendentes.
Obs.1: Para que o mecanismo descrito acima funcione, o sistema deverá estar configurado para tal. Essa configuração é feita através da opção UTILIZA_REGPEND (sistema Ergon, grupo REGPEND).
Obs.2: Tanto o botão "Mostra Registros Pendentes" quanto as transações "Parametrização de Registros Pendentes" e "Efetivação de Registros Pendentes" somente estarão disponíveis se o sistema estiver configurado para utilizar o mecanismo de registros pendentes (conforme Obs.1).
Obs.3: O processo de parametrização e efetivação dos registros pendentes encontra-se descrito com maiores detalhes nos ítens "Parametrização de Registros Pendentes" e "Efetivação de Registros Pendentes" do BLV, respectivamente. Além disso, as transações relacionadas possuem um help onde o usuário poderá obter maiores informações sobre o funcionamento da transação.
Obs.4: Quando um registro pendente é cadastrado, o sistema buscará na parametrização e registros pendentes qual é o papel do usuário efetivador para aquele registro. Isto significa que somente usuários que possuem este papel poderão efetivar o registro em questão. Essa consistência é feita na tela de efetivação, onde somente serão listados os registros cujo usuário corrente possui papel para efetivá-los.
Obs.5: As transações em que foi implementado esse mecanismo de registros pendentes estão listadas no item "Transações com mecanismo de Registros Pendentes" deste BLV.
Detalhes Técnicos:
Foi implementado o mecanismo de registros pendentes nas tabelas: LIC_AFAST, LIC_AFAST_PND, LIC_ESP, LIC_ESP_PND, VANTAGENS, VANTAGENS_PND, VINCULOS, VINCULOS_PND. Nessas tabelas foram adicionados a coluna ID_REG.
Foram criados os seguintes objetos:
Packages: PACK_ERG_PEND, PCK_CESSOES_PND, PCK_EVENTO_FUNC_PND, PCK_FERIAS_PND, PCK_FREQUENCIAS_PND,PCK_LIC_AFAST_PND, PCK_LIC_ESP_PND, PCK_VANTAGENS_PND, PCK_VINCULOS_PND
Tabelas: CESSOES_PND, EVENTO_FUNC_PND, FERIAS_PND, FREQUENCIAS_PND,LIC_AFAST_PND, LIC_ESP_PND, VANTAGENS_PND, VINCULOS_PND
Sequences: CESSOES_PND_CHAVE_SEQ, EVENTO_FUNC_PND_CHAVE_SEQ, FERIAS_PND_CHAVE_SEQ, FREQUENCIAS_PND_CHAVE_SEQ, LIC_AFAST_PND_CHAVE_SEQ, LIC_ESP_PND_CHAVE_SEQ, VANTAGENS_PND_CHAVE_SEQ, VINCULOS_PND_CHAVE_SEQ.
Com exceção da package PACK_ERG_PEND, os objetos foram criados a partir de geradores de scripts.
Parametrização de Registros Pendentes
Visão do usuário:
Foi criado a nova transação para Parametrização de Registros Pendentes, código ERG0355.
Nessa transação será feito a parametrização dos registros pendentes para os códigos de frequência (utilizados no cadastro de frequências, férias, licenças afastamentos, licenças especiais), tipos de atributos (utilizado no cadastro de atributos , incorporação de chefia), tipos de eventos (utilizado no cadastro de eventos) e formas de vacância (utilizado na vacância do servidor).
A parametrização do lançamento de cessões (internas e externas) é feito através das opções: CESSAO_PEND e CESSAO_ROLE do grupo REGPEND.
Essa parametrização é feito por empresa. Será possível selecionar como motivo de pendência: AUTORIZACAO quando o registro requerer autorização, e PUBLICACAO, quando o registro requerer publicação. Quando o registro requerer AUTORIZACAO será necessário informar o Papel do efetivador, ou seja quem poderá autorizar o cadastro.
Implementação de um visualizador para os registros pendentes.
Detalhes Técnicos:
Implementação de mecanismo de controle para gravação de registros para as tabelas de registros pendentes e implementação de visualizador para esses registros por transação.
Detalhes da implementação:
1) Alteração no form ERG_CLAS_2 e na ERGON.OLD:
Foram implementados métodos para listar os registros pendentes por transação.
Para essa implementação foram criados:
1.1) Canvas TAB: CANVAS_PEND
1.2) Blocos:
ERG_REGS_PEND_TEMP
ERG_COLS_REG_PEND_TEMP
ERG_PUBLIC_PEND
1.3) Program Unit:
PACK_LISTA_PEND com rotinas voltadas para listar os registros pendentes
1.4) No bloco ERG_REGS_PEND_TEMP foram implementados os botões:
BTN_LISTA_PEND: varre o form pelos blocos que possui tabelas que apresentam a tabela de registros pendentes. Popula as tabelas temporárias e apresenta o canvas CANVAS_PEND.
BTN_VOLTAR: Sai do CANVAS_PEND e limpa tabelas temporárias.
1.5) Object group: OG_REGS_PEND para conter todos os objetos.
O mecanismo todo foi elaborado para apenas herdar os objetos sem intervenção manual. Apenas recomenda-se arrasta os novos blocos para o fim da lista de blocos.
2) A package PACK_ERG_PEND foi criada para conter rotinas relacionadas ao tratamento de registros pendentes. Possui flags e procedimentos que controlam a gravação de registros nas tabelas de registros pendentes.
Ela possui um conjunto de rotinas que agrupa dinamicamente os registros pendentes nas tabelas temporárias ERG_REGS_PEND_TEMP e ERG_COLS_REG_PEND_TEMP e que serão usadas nos forms para listar os registros pendentes por transação ou listar os registros na transação de efetivação dos registros.
3) A tabela temporária ERG_REGS_PEND_TEMP foi criada para conter os campos que são iguais em todos os registros pendentes.
4) A tabela temporária ERG_COLS_REG_PEND_TEMP foi criada para detalhar as colunas e seus valores de um único registro pendente. Ela quebra uma única linha e múltiplas linhas. Apresenta a seguinte descrição:
CHAVE_PEND: chave única da pendência
COLUNA: nome real da coluna na tabela, se for coluna da tabela
TITULO: título da coluna que será apresentado na tela
TIPO: tipo do dado, para formatação
VISIVEL: somente serão apresentados na tela as linhas marcadas com S
COMPRIMENTO: comprimento do valor
ORDEM: ordem crescente de apresentação dos registros
VALOR: valor das colunas.
5) A transação "Licenças/Afastamentos" (form ERG0141) foi implementada com mecanismos para lançamento de registros pendentes.
Para isso foram herdados objetos dos objects groups LMULT e OG_REGS_PEND.
6) A transação "Eventos de Cargo" (form ERG0302) foi implementada com mecanismos para lançamento de registros pendentes.
Para isso foram herdados objetos dos objects groups LMULT e OG_REGS_PEND.
Nova parametrização para Substituição Múltipla e Indicação Prévia
Visão do usuário:
1) Tipo de substituição do cargo
Os tipos de substituição que podem ocorrer para o cargo são: a) Individual com Afastamento - padrão atual, b) Individual sem Afastamento - nesse caso o funcionário NÃO é considerado afastado, ao substituir outra pessoa; e c) Múltipla - pode haver vários substitutos para um mesmo titular no período.
2) Indicação prévia para substituições
Caso marcada a indicação prévia, o sistema só aceita o registro da substituição se o substituto estiver previamente cadastrado na tela Indicação Prévia (Menu Eventos -> Eventos de Substituição). Essa funcionalidade só está disponível para os clientes que trabalham com eventos.
Detalhes Técnicos:
Criados vários campos de controle em HIST_CARGO e TIPO_EVENTO, além da criação da tabela EVFUNC_INDIC_PREVIA.