BLV Técnico Versão 5.02
Boletim de Liberação de Versão
SISTEMA ERGON
Versão: 5.02
Pré requisitos do sistema:
Novas Características/Implementações
Cadastro de layouts e geração de arquivos bancários
Visão do usuário:
A Transação "Layout de Arquivos" sofreu as seguintes alterações :
- Foi criado o bloco "Dados do Arquivo" onde deverão ser informados os dados gerais (Nome e Localização ao Arquivo) referentes ao layout de arquivo que está sendo cadastrado;
- Foram criadas duas fichas para controle dos blocos "Associação Layout/Banco" (ficha Bancos) e "Layout do Arquivo" (ficha Colunas);
- No bloco "Associação Layout/Banco", deve ser informado o layout utilizado por cada banco. Quando um novo layout é cadastrado, para que ele esteja disponível para associação a um banco deve-se salvar os dados do bloco "Dados do Arquivo" antes que seja feita a associação. Caso contrário, a lista de valores com os layouts disponíveis não apresentará o layout recentemente cadastrado. É necessário que a associação entre um layout e um banco seja feita antes do preenchimento do bloco "Layout do Arquivo". Isto é necessário porque a lista de valores com as colunas disponíveis para o layout é baseada no registro selecionado no bloco "Associação Layout/Banco", uma vez que a lista de valores utiliza o campo "Visão" deste bloco;
- No bloco "Layout do Arquivo", a cada registro que é cadastrado/alterado, deve-se salvar os dados antes de mudar para outro registro. Isto deve ser feito para que a validação de colunas com posições concomitantes possa ser realizada adequadamente. Além disso, existem duas possibilidades de cadastro de colunas. A primeira possibilidade é cadastrar uma coluna pertencente à visão selecionada na ficha "Bancos". Nesta situação, o nome da coluna deve ser selecionado dentre as opções disponíveis na lista de valores. Quando isto ocorre, o campo "Valor" pode ou não ser preenchido, dependendo da necessidade. Porém, existe a possibilidade de cadastro de colunas de valor fixo, que não se encontram na lista de valores. Neste caso, deve-se informar o nome da coluna e o sistema obrigará a informação do campo "Valor".
Detalhes Técnicos:
As seguintes alterações foram realizadas no banco de dados para a execução desta tarefa :
- Migração dos dados da tabela CARGAFB_DETALHE para a tabela CARGA_COLUNAS;
- Alteração da tabela CARGAFB_TIPO, com o acréscimo do campo NUM_LAYOUT (NUMBER(10)). Este campo será utilizado para relacionar um banco (da tabela CARGAFB_TIPO) a um layout (da tabela CARGA_LAYOUT);
- Criação da constraint de Foreign Key CARGAFBTIPO_CARGALAYOUT_FK (tabela CARGAFB_TIPO) para ligar a tabela CARGAFB_TIPO (campo NUM_LAYOUT) à tabela CARGA_LAYOUT (campo NUMERO);
- Criação da check constraint CARGACOL_INI_FIM_CK (tabela CARGA_COLUNAS) para impedir que sejam cadastrados registros cujo campo INICIO seja maior que o campo FIM;
- Codificação das procedures MAIN_PRE e MAIN_POS da package PCK_CARGA_COLUNAS para impedir que sejam cadastradas colunas com posição concomitante;
- Remoção da tabela CARGAFB_DETALHE;
- Ajuste das packages de C_ERGON que tinham entry-points relacionados à tabela CARGAFB_DETALHE (tabela removida).
Lista de incompatibilidade de atributos
Visão do usuário:
Para contemplar essa nova característica, várias alterações em banco foram necessárias além da criação da transação "Lista de Incompatibilidade de Atributos".
Através desta transação, é possível lançar para um determinado atributo regras de incompatibilidade com outros atributos, com determinadas frequências e ou determinados tipos de eventos. Cada incompatibilidade possui um período de validade que impossibilitará qualquer cadastro de um novo atributo, de uma nova frequência (tipo e código de frequência) e de um novo tipo de evento caso o funcionário possua o atributo em questão, válido no período de incompatibilidade.
A tela é formada pelos seguintes blocos:
-"Lista de Atributos" :Este bloco é utilizado para listar todos os tipos de atributos cadastrados no sistema para a instituição corrente e não é permitido nenhuma alteração, cadastro ou remoção sobre esses registros. É para estes atributos que as regras de incompatibilidade deverão ser lançadas.
-"Atributos Incompatíveis": Nesta ficha são cadastrados os atributos incompatíveis com os atributos listados na "Lista de Atributos". Esse cadastro deverá possuir um período de validade no qual a incompatibilidade será válida. Não é permitido concomitância de períodos para um mesmo conjunto: atributo - atributo incompatível.
-"Frequências Incompatíveis": Nesta ficha são cadastradas as frequências incompatíveis com os atributos listados na "Lista de Atributos". Qualquer freqüência é caracterizada pelo tipo de frequência e mnemônico (ou código) de frequência. Este conjunto de parâmetros, além de caracterizar as frequências normais válidas no sistema, também podem caracterizar: Férias e Licenças Especiais. Esse cadastro deverá possuir um período de validade no qual a incompatibilidade será válida. Não é permitido concomitância de períodos para um mesmo conjunto: atributo - frequência incompatível.
-"Tipos de Eventos Incompatíveis": Nesta ficha são cadastrados os tipos de evento incompatíveis com os atributos listados na "Lista de Atributos". Esse cadastro deverá possuir um período de validade no qual a incompatibilidade será válida. Não é permitido concomitância de períodos para um mesmo conjunto: atributo - tipo de evento incompatível.
O menu do Ergon foi alterado, adicionando-se o menu: Tabelas -> Histórico Funcional -> Atributos -> Lista de Incompatibilidade de Atributos.
Detalhes Técnicos:
Para atender a tarefa, foram criadas três tabelas:
1) ERG_VANT_INCOMPAT_VANT com as seguintes colunas:
VANTAGEM VARCHAR2(20) NOT NULL
VANTAGEM_INCOMPAT VARCHAR2(20) NOT NULL
DTINI DATE NOT NULL
DTFIM DATE
Chave primária: ERG_VANT_INCOMPAT_VANT_PK PRIMARY KEY (VANTAGEM, VANTAGEM_INCOMPAT, DTINI)
Chave estrangeira:
ERG_VANT_INC_VANT_VANT_FK da coluna "VANTAGEM" para tabela "TIPO_VANTAGEM_" coluna "VANTAGEM"
e
ERG_INCOMPAT_VANT_VANT_FK da coluna "VANTAGEM_INCOMPAT" para tabela "TIPO_VANTAGEM_" coluna "VANTAGEM"
Índices:
ERG_VANT_INC_VANT_VANT_I sobre a coluna "VANTAGEM"
e
ERG_INCOMPAT_VANT_VANT_I sobre a coluna "VANTAGEM_INCOMPAT"
2) ERG_VANT_INCOMPAT_TIPOEV com as seguintes colunas:
VANTAGEM VARCHAR2(20) NOT NULL
TIPOEVENTO VARCHAR2(20) NOT NULL
DTINI DATE NOT NULL
DTFIM DATE
Chave primária: ERG_VANT_INCOMPAT_TIPOEV_PK PRIMARY KEY (VANTAGEM, TIPOEVENTO, DTINI)
Chave estrangeira:
ERG_VANT_INC_TIPOEV_VANT_FK da coluna "VANTAGEM" para tabela "TIPO_VANTAGEM_" coluna "VANTAGEM"
e
ERG_VANT_INC_TIPOEV_TIPO_EV_FK da coluna "TIPOEVENTO" para tabela "TIPO_EVENTO_" coluna "TIPOEVENTO"
Índices:
ERG_VANT_INC_TIPOEV_VANT_I sobre a coluna "VANTAGEM"
e
ERG_VANT_INC_TIPOEV_TIPO_EV_I sobre a coluna "TIPOEVENTO"
3) ERG_VANT_INCOMPAT_CODFREQ com as seguintes colunas:
VANTAGEM VARCHAR2(20) NOT NULL
TIPOFREQ VARCHAR2(20) NOT NULL
CODIGO NUMBER NOT NULL
DTINI DATE NOT NULL
DTFIM DATE
Chave primária: ERG_VANT_INCOMPAT_CODFREQ_PK PRIMARY KEY (VANTAGEM, TIPOFREQ, CODIGO, DTINI)
Chave estrangeira:
ERG_VANT_INC_CODFREQ_VANT_FK da coluna "VANTAGEM" para tabela "TIPO_VANTAGEM_" coluna "VANTAGEM"
e
ERG_VANT_INC_COD_CODFREQ_FK das colunas "TIPOFREQ" e "CODIGO" para tabela "CODIGOS_FREQ" colunas "TIPOFREQ" e "CODIGO"
Índices:
ERG_VANT_INC_CODFREQ_VANT_I sobre a coluna "VANTAGEM"
e
ERG_VANT_INC_CODFREQ_CODFREQ_I sobre as colunas "TIPOFREQ" e "CODIGO".
Para cada tabela, foram geradas as packages: PCK_ERG_VANT_INCOMPAT_VANT, PCK_ERG_VANT_INCOMPAT_TIPOEV e PCK_ERG_VANT_INCOMPAT_CODFREQ. Nas packages foram adicionadas rotinas de verificação de concomitância de períodos.
As triggers também foram geradas.
Na package "PCK_VANTAGENS" da tabela "VANTAGENS" foram criadas três funções, cuja descrição é feita a seguir:
1)Função EH_VANTAGEM_INCOMPATIVEL:
Esta function tem por finalidade verificar se a vantagem (atributo, incorporação, gratificação) que está sendo cadastrada para um determinado funcionário, possui alguma incompatibilidade com pelo menos uma vantagem válida para o funcionário no período do cadastro. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_VANT para a vantagem em questão. Se pelo menos uma incompatibilidade for encontrada, a função retorna o valor lógico "TRUE". Se nenhuma incompatibilidade for encontrada, a função retorna o valor lógico "FALSE".
Parâmetros:
P_NUMFUNC:
Número do funcionário;
P_NUMVINC:
Número do vínculo do funcionário;
P_VANTAGEM:
Sigla de identificação da vantagem, podendo ser um atributo, incorporação ou gratificação;
P_DTINI:
Data de início do período de validade da vantagem que está sendo cadastrada;
P_DTFIM:
Data de término do período de validade da vantagem que está sendo cadastrada;
Utilização:
Utilizada no cadastro e alterações de registros da tabela de VANTAGENS.
2) Função EH_CODFREQ_INCOMPATIVEL:
Esta function tem por finalidade verificar se a frequência que está sendo cadastrada para um determinado funcionário, possui alguma incompatibilidade com pelo menos uma vantagem válida para o funcionário no período do cadastro. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_CODFREQ para o tipo e código da frequência em questão. Se pelo menos uma incompatibilidade for encontrada, a função retorna o valor lógico "TRUE". Se nenhuma incompatibilidade for encontrada, a função retorna o valor lógico "FALSE".
Parâmetros:
P_NUMFUNC:
Número do funcionário;
P_NUMVINC:
Número do vínculo do funcionário;
P_TIPOFREQ:
Sigla de identificação do tipo da frequência;
P_CODIGO:
Sigla de identificação do código da frequência;
P_DTINI:
Data de início do período de validade da vantagem que está sendo cadastrada;
P_DTFIM:
Data de término do período de validade da vantagem que está sendo cadastrada;
Utilização:
Utilizado no cadastro e alterações de registros da tabela de VANTAGENS.
3) Função EH_TIPOEVENTO_INCOMPATIVEL
Propósito:
Esta function tem por finalidade verificar se o tipo do evento que está sendo cadastrado para um determinado funcionário, possui alguma incompatibilidade com pelo menos uma vantagem válida para o funcionário no período do cadastro. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_TIPOEV para o tipo do evento em questão. Se pelo menos uma incompatibilidade for encontrada, a função retorna o valor lógico "TRUE". Se nenhuma incompatibilidade for encontrada, a função retorna o valor lógico "FALSE".
Parâmetros:
P_NUMFUNC:
Número do funcionário;
P_NUMVINC:
Número do vínculo do funcionário;
P_TIPOEVENTO:
Sigla de identificação do tipo do evento;
P_DTINI:
Data de início do período de validade da vantagem que está sendo cadastrada;
P_DTFIM:
Data de término do período de validade da vantagem que está sendo cadastrada;
Utilização:
Utilizado no cadastro e alterações de registros da tabela de VANTAGENS.
Algumas packages foram alteradas adicionando-se essas funções para verificar a incompatibilidade no cadastro. Abaixo são listadas as packages que foram alteradas e as funções que foram adicionadas.
1)Na Package PCK_VANTAGENS foi utilizada a função PCK_VANTAGENS.EH_VANTAGEM_INCOMPATIVEL que verifica para vantagem (atributo, incorporação, gratificação), que está sendo cadastrada ou alterada, se já existe uma vantagem cadastrada no período para o funcionário e que seja incompatível com essa. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_VANT. Em caso de incompatibilidade, é emitida a mensagem de erro número 1572.
2)Na Package PCK_EVENTO_FUNC foi utilizada a função PCK_VANTAGENS.EH_TIPOEVENTO_INCOMPATIVEL que verifica para o tipo do evento, que está sendo cadastrado ou alterado, se existe uma vantagem cadastrada no período para o funcionário e que seja incompatível com esse tipo do evento. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_TIPOEV. Em caso de incompatibilidade, é emitida a mensagem de erro número 3909.
3)Na Package PCK_FREQUENCIAS foi utilizada a função PCK_VANTAGENS.EH_CODFREQ_INCOMPATIVEL que verifica para a frequência, que está sendo cadastrada ou alterada, se existe uma vantagem cadastrada no período para o funcionário e que seja incompatível com a frequência. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_CODFREQ para o tipo de frequência e código de frequência em questão. Em caso de incompatibilidade, é emitida a mensagem de erro número 432.
4)Na Package PCK_FERIAS foi utilizada a função PCK_VANTAGENS.EH_CODFREQ_INCOMPATIVEL que verifica para as férias, que está sendo cadastrada ou alterada, se existe uma vantagem cadastrada no período para o funcionário e que seja incompatível com as férias. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_CODFREQ para o tipo de frequência normal e código de frequência para férias. Em caso de incompatibilidade, é emitida a mensagem de erro número 529.
5)Na Package PCK_LIC_AFAST foi utilizada a função PCK_VANTAGENS.EH_CODFREQ_INCOMPATIVEL que verifica para a licença/afastamento, que está sendo cadastrada ou alterada se existe uma vantagem cadastrada no período para o funcionário e que seja incompatível com a licença/afastamento. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_CODFREQ para o tipo de frequência e código de frequência em questão. Em caso de incompatibilidade, é emitida a mensagem de erro número 4305.
6)Na Package PCK_LIC_ESP foi utilizada a função PCK_VANTAGENS.EH_CODFREQ_INCOMPATIVEL que verifica para a licença especial, que está sendo cadastrada ou alterada, se existe uma vantagem cadastrada no período para o funcionário e que seja incompatível com a licença especial. Essa incompatibilidade é definida na tabela ERG_VANT_INCOMPAT_CODFREQ para o tipo de frequência normal e código de frequência para licença especial. Em caso de incompatibilidade, é emitida a mensagem de erro número 706.
Para completar todas essas alterações, foi criada a transação "Lista de Incompatibilidade de Atributos" (form ERG0323.FMB).
Através desta transação, é possível lançar para um determinado atributo regras de incompatibilidade com outros atributos, com determinadas frequências e ou determinados tipos de evento. Cada incompatibilidade possue um período de validade que impossibilitará qualquer cadastro de um novo atributo, de uma frequência (tipo e código de frequência) e de um tipo de evento caso o funcionário possua o atributo em questão, válido no período de incompatibilidade.
A tela é formada pelos seguintes blocos:
-"Lista de Atributos" :Este bloco é utilizado para listar todos os tipos de atributos cadastrados no sistema para a instituição corrente e não é permitido nenhuma alteração, cadastro ou remoção sobre esses registros. É para estes atributos que as regras de incompatibilidade deverão ser lançadas.
-"Atributos Incompatíveis": Nesta ficha são cadastrados os atributos incompatíveis com os atributos listados na "Lista de Atributos". Esse cadastro deverá possuir um período de validade no qual a incompatibilidade será válida. Não é permitido concomitância de períodos para um mesmo conjunto: atributo - atributo incompatível.
-"Frequências Incompatíveis": Nesta ficha são cadastradas as frequências incompatíveis com os atributos listados na "Lista de Atributos". Qualquer freqüência é caracterizada pelo tipo de frequência e mnemônico (ou código) de frequência. Este conjunto de parâmetros, além de caracterizar as frequências normais válidas no sistema, também podem caracterizar: Férias e Licenças Especiais. Esse cadastro deverá possuir um período de validade no qual a incompatibilidade será válida. Não é permitido concomitância de períodos para um mesmo conjunto: atributo - frequência incompatível.
-"Tipos de Eventos Incompatíveis": Nesta ficha são cadastrados os tipos de evento incompatíveis com os atributos listados na "Lista de Atributos". Esse cadastro deverá possuir um período de validade no qual a incompatibilidade será válida. Não é permitido concomitância de períodos para um mesmo conjunto: atributo - tipo de evento incompatível.
O menu do Ergon (ERGON.MMB) foi alterado, adicionando-se o menu: Tabelas -> Histórico Funcional -> Atributos -> Lista de Incompatibilidade de Atributos.