BLV Técnico Versão 5.03 (Continuação)

Restrição de consulta de fichas financeiras

Detalhes Técnicos:

A partir desta versão, o cliente pode restringir a visão das fichas financeiras nas transações de consulta no menu Processos --> Folhas de Pagamento --> Consultas através da função EP__MOSTRA_FICHA. Maiores detalhes podem ser encontrados no cabeçalho da função..

Registros de Publicações nas Transações "Cargos" e "Funções"

Visão do usuário:

As transações "Cargos" e "Funções" foram alteradas para permitirem o lançamento de registros de publicações. Com isso, o botão "Mostra Publicações" da barra de ferramentas foi habilitado para ambas transações.

Detalhes Técnicos:

Para habilitar o registro de publicações nas transações de "Cargos" e "Funções" foi necessário alterar as tabelas CARGOS_ e FUNCOES_EV. Estas tabelas receberam um novo campo chamado PONTPUBL (Number(10)) e uma constraint de foreign key deste campo para a tabela ERG_PUBLX.

Em decorrência destas alterações, as views CARGOS e FUNCOES tiveram que ser alteradas para que o campo PONTPUBL fosse incluído.

Também foi criado um índice único para a coluna PONTPUBL nas tabelas CARGOS_ e FUNCOES_EV.

Remoção de tabela

Detalhes Técnicos:

A tabela ERG_TEMP_CARGAFB_AG foi removida. Favor remover as referências à esta tabela nos objetos de C_ERGON.

Novas fichas na transação DIRF

Visão do usuário:

A transação DIRF recebeu duas novas fichas para apresentação de dados ("Itens DIRF" e "Totais DIRF").

A ficha "Itens DIRF" tem por objetivo apresentar (somente para consulta) os ítens gerados na DIRF. Nesta ficha, é possível filtrar os dados que serão apresentados na tela através dos campos "Ano Base", "Sub-empresa" e "Fator". Após informar os filtros desejados, basta navegar para o bloco "Itens" que a consulta será realizada.

A ficha "Totais DIRF" tem por objetivo apresentar (somente para consulta) os totais gerados na DIRF. Nesta ficha, é possível filtrar os dados que serão apresentados na tela através dos campos "Ano Base", "Sub-empresa" e "Referência". O campo "Referência" é obrigatório e tem a função de permitir ao usuário informar qual mês (janeiro a dezembro, ou 13º salário) deverá ter os totais apresentados na tela. Após informar os filtros desejados, basta navegar para o bloco "Itens" que a consulta será realizada.

Adição de entry-points após as execuções normais das triggers

Detalhes Técnicos:

Foi elaborado um novo mecanismo através de dois procedimentos adicionados nas triggers de PRE e de POS das tabelas do sistema, para o cliente estabelecer validações e outras operações ao final da execução de todas rotinas codificadas nestas triggers. Ou seja, esses procedimentos finalizam todo o processo de validações, críticas e alterações feitas na inserção, alteração e remoção de registros na tabela em função das regras de negócio estabelecidas.

Para adicionar esses novos procedimentos nas triggers, o script GERA_TRG.SQL de geração dos códigos das triggers foi alterado. Somente as triggers T_B_IUD... e T_A_IUD... incorporam a chamada à esses procedimentos.

Por exemplo, se o script for executado para a tabela VINCULOS, o novo mecanismo é implementado no corpo das triggers como mostrado abaixo.

1) T_B_IUD_VINCULOS:

--

/*Chamada da procedure para validações adicionais do cliente*/

PCK_EP__BEFORE_CERG.VINCULOS(INSERTING, UPDATING, DELETING, PCK_EP__BEFORE_CERG.V_MENS);

--

IF PCK_EP__BEFORE_CERG.V_MENS IS NOT NULL THEN

--

ERGON_ERRO_PACK.TRATA_ERRO(0, PCK_EP__BEFORE_CERG.V_MENS);

--

END IF;

--

/*Final da chamada da procedure para validações adicionais do cliente*/

--

2) T_A_IUD_VINCULOS:

--

/*Chamada da procedure para validações adicionais do cliente*/

PCK_EP__AFTER_CERG.VINCULOS(INSERTING, UPDATING, DELETING, PCK_EP__AFTER_CERG.V_MENS);

--

IF PCK_EP__AFTER_CERG.V_MENS IS NOT NULL THEN

--

ERGON_ERRO_PACK.TRATA_ERRO(0, PCK_EP__AFTER_CERG.V_MENS);

--

END IF;

--

/*Final da chamada da procedure para validações adicionais do cliente*/

--

Como se pode ver acima, os procedimentos estão empacotados em packages criadas no usuário C_ERGON e C_HADES do banco de dados. Para utilização na trigger de PRE, no C_ERGON foi criada a package PCK_EP__BEFORE_CERG e no C_HADES foi criada a package PCK_EP__BEFORE_CHAD. Para utilização na trigger de PÓS, no C_ERGON foi criada a package PCK_EP__AFTER_CERG e no C_HADES foi criada a package PCK_EP__AFTER_CHAD. Em qualquer um dos casos, se o procedimento devolver uma mensagem através do parâmetro de saída, a execução será abortada e a mensagem mostrada ao cliente. No exemplo, será o conteúdo da variável PCK_EP__AFTER_CERG.V_MENS.

Para gerar essas packages, tanto para o usuário C_ERGON quanto para o usuário C_HADES, foram criadas duas rotinas que foram adicionadas aos scripts CERGON.SQL e CHADES.SQL utilizados para gerar as packages PCK_BEFORE_CERGON, PCK_AFTER_CERGON, PCK_BEFORE_CHADES e PCK_AFTER_CHADES. As novas packages são geradas com a seguinte estrutura:

--

PROCEDURE TABELA_NOME (

P_INSERTING IN BOOLEAN,

P_UPDATING IN BOOLEAN,

P_DELETING IN BOOLEAN,

P_MENS OUT VARCHAR2

);

--

E o corpo da package será o seguinte

--

PROCEDURE TABELA_NOME (

P_INSERTING IN BOOLEAN,

P_UPDATING IN BOOLEAN,

P_DELETING IN BOOLEAN,

P_MENS OUT VARCHAR2

)

IS

BEGIN

P_MENS := NULL;

END;

--

Como se pode observar, os procedimentos apresentam apenas os parâmetros dos tipos de operações DML.

No caso da package de BEFORE, para ler um registro da tabela e efetuar alterações no mesmo, deve-se utilizar os registros: PCK_TABELA_NOME.V_ROW_NEW e PCK_TABELA_NOME.V_ROW_OLD - definidos na package padrão da TABELA. Por exemplo: PCK_VINCULOS.V_ROW_NEW e PCK_VINCULOS.V_ROW_OLD.

No caso da package de AFTER, para ler um registro da tabela e efetuar alterações no mesmo, deve-se utilizar as PL/SQL TABLES: PCK_TABELA_NOME.P_TABELA_NOME, PCK_TABELA_NOME.P_TABELA_NOME_OLD e PCK_TABELA_NOME.P_INDICE (a quantidade de linhas dessas tabelas) - da package da TABELA. Por exemplo: PCK_VINCULOS.P_VINCULOS, PCK_VINCULOS.P_VINCULOS_OLD e PCK_VINCULOS.P_INDICE. Se for necessário ler os registros linha por linha dessas tabelas, será necessário a utilização de um LOOP de 1 até PCK_TABELA_NOME.P_INDICE.

Por exempo:

--

PROCEDURE TABELA_NOME (

P_INSERTING IN BOOLEAN,

P_UPDATING IN BOOLEAN,

P_DELETING IN BOOLEAN,

P_MENS OUT VARCHAR2

)

IS

--

i NUMBER;

--

BEGIN

--

FOR i IN 1..PCK_TABELA_NOME.P_INDICE LOOP

--

-- usar PCK_TABELA_NOME.P_TABELA_NOME(i).campos

--

--

END LOOP;

--

P_MENS := NULL;

--

END;

--

O parâmetro P_MENS retorna uma mensagem de erro, abortando toda a execução.

Em todos os scripts citados acima, não serão gerados mais os entry-points e nem as triggers para as tabelas com os nomes compostos com as palavras: OLD (tabelas antigas, ex: TABELA_OLD), TEMP (tabelas de conteúdo temporário, ex: ERG_TEMP_TABELA, TEMP_TABELA, TABELA_TEMP) e REMOVER (tabelas a remover, ex: REMOVER_TABELA). Foi gerado um script para remover os objetos que foram gerados para esses tipos de tabelas.

Funcionamento da DIRF em modo multi-empresa.

Visão do usuário:

A transação "Informe de Rendimentos e DIRF" foi alterada para a DIRF funcionar em modo multi-empresa. Assim, as informações geradas para a DIRF e as listadas na tela sempre serão para a empresa na qual o usuário estiver logado.

Detalhes Técnicos:

A transação "Informe de Rendimentos e DIRF", form ERG0072, foi alterada para a DIRF funcionar em modo multi-empresa. Nas consultas sobre a tabela FICHAS_VINCULOS, foi adicionada a condição: emp_codigo = flag_pack.get_empresa. Os blocos de consultas da tela também utilizam essa restrição. Assim, as informações geradas para a DIRF e as listadas na tela sempre serão para a empresa na qual o usuário estiver logado.

Foi renomeada a tabela DIRF_CPF_NOME_TEMP para DIRF_CPF_NOME e as triggers e packages (PCK_DIRF_CPF_NOME) foram geradas para ela.

Para a tabela DIRF_ITENS, a coluna EMP_CODIGO foi alterda para NOT NULL e foi adicionada a UNIQUE KEY DIRF_ITENS_UK.

Para a tabela DIRF_TOTAIS, a coluna EMP_CODIGO foi alterda para NOT NULL e foi adicionada a UNIQUE KEY DIRF_TOTAIS_UK.

Foi criado um script para popular a coluna EMP_CODIGO dessas duas tabelas, caso esteja como valor NULO.

Nas views DIRF_VW_REG_2 e DIRF_VW_REG_9, a referência a tabela DIRF_CPF_NOME_TEMP foi alterada para DIRF_CPF_NOME. E na tela também.

Funcionamento da RAIS em modo multi-empresa.

Visão do usuário:

A transação "RAIS" foi alterada para a RAIS funcionar em modo multi-empresa. Assim, as informações geradas para a RAIS e as listadas na tela sempre serão para a empresa na qual o usuário estiver logado.

Detalhes Técnicos:

A transação "RAIS", form ERG0192, foi alterada para a RAIS funcionar em modo multi-empresa. Nas consultas sobre a tabela FICHAS_VINCULOS, foi adicionada a condição: emp_codigo = flag_pack.get_empresa. Outros procedimentos da tela, também foram alterados levando em conta a empresa na qual o usuário está logado (FLAG_PACK.GET_EMPRESA). Os blocos de consultas da tela também utilizam essa restrição. Assim, as informações geradas para a RAIS e as listadas na tela sempre serão para a empresa na qual o usuário estiver logado.

Para a package PACK_ERGON, os procedimentos da RAIS foram removidos dessa package e passados para a package PACK_RAIS.

A package PACK_RAIS foi criada para empacotar e disponibilizar procedures e functions de uso no mecanismo de geração da RAIS.

Para a package PCK_RAIS_INFO, o insert de registros na tabela RAIS_INFO foi alterado para inserir também o código da empresa (EMP_CODIGO).

Para a tabela RAIS_INFO, a coluna EMP_CODIGO foi alterda para NOT NULL e foi adicionada a UNIQUE KEY RAIS_INFO_UK.

Foi criado um script para popular a coluna EMP_CODIGO dessa tabela, caso esteja com valor NULO.

Anterior Próxima