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

Packages do módulo de Avaliação de Desempenho

Detalhes Técnicos:

Foram criados os objetos de banco PACK_PROMOCAO em ERGON e PCK_CERG_PROMOCAO em C_ERGON

Transação Eventos de Substituição - ERG0300

Visão do usuário:

Foi criado o campo PERMIT_MULT_SUBST na TIPO_EVENTO_. ( Usado apenas para eventos de substituição ).

Caso esteja marcado ( valor 'S' ) o sistema permitirá que um servidor seja substituído por mais de uma pessoa.

Ex : o servidor B está substituíndo o servidor A. Caso o servidor B tenha algum afastamento o servidor C poderá substituir o servidor A. Ficando assim dois servidores B e C substituíndo o servidor A.

Mecanismo para registrar stack da execução de stored procedures que causaram um erro

Detalhes Técnicos:

[HADES_ERROS_STACK]

Nova tabela para registrar as linhas das stored procedures que estavam sendo executadas quando um erro foi gerado via HADES_ERRO_PACK.TRATA_ERRO ou erro inesperado mas capturado por um WHEN OTHERS.

Exemplo de utilização para STORED PROCEDURE/FUNCTION dentro de um PACKAGE:

PACKAGE BODY EXEMPLO IS

FUNCTION VALIDA_ALGUMA_COISA (P_PARAMETRO1 IN VARCHAR2) RETURN VARCHAR2 IS

-- declaração de variáveis locais

V_MSG VARCHAR2(2000);

...

-- Variáveis locais para identificar o STORED PROCEDURE e o comando que está sendo

-- executado

V_SPID NUMBER; -- IDENTIFICADOR DO STORED PROCEDURE

L_ NUMBER; -- CONTADOR PARA INDICAR O COMANDO QUE ESTA SENDO EXECUTADO

BEGIN

-- Inicializa o identificador do stored procedure

V_SPID := HADES_ERRO_PACK.GET_STOREDPROC_ID('ERGON','EXEMPLO','VALIDA_ALGUMA_COISA');

-- Essa função faz uma consulta à view de sistema ALL_PROCEDURES

--

-- Antes de cada comando que pode gerar uma exception, atribui-se ao contador um valor

-- numérico crescente. Como é um stored procedure dentro de um package, é interessante

-- usar sempre números diferentes para cada comando. Isso facilita na hora de fazer um

-- find. E para tornar a numeração independente entre os diversos PROCEDURES/FUNCTIONS

-- do package, utilizar um offset para cada PROCEDURE/FUNCTION. Por exemplo, o primeiro

-- PROCEDURE/FUNCION começar com um offset de 10000, o segundo de 20000 e assim por

-- diante. Para quem programou em linguagem BASIC, deve lembrar do uso de linhas numeradas

-- para o código e normalmente numerá-las de 10 em 10 para o caso de precisar acrescentar

-- uma nova linha. Isso também é interessante fazer no caso do contador.

L_ := 10010;

V_MSG := CHAMA_FUNCAO_XPTO(P_PARAMETRO1);

--

IF V_MSG IS NOT NULL THEN

-- supondo que essa função é do tipo entry-point que retorna uma mensagem de erro

-- chamar a função para gravar essa mensagem e o STORED PROCEDURE e o comando que

-- gerou o erro. Nesse caso, foi a chamada a função CHAMA_FUNCAO_XPTO. E, se a

-- função CHAMA_FUNCAO_XPTO também utilizou esse mecanismo de gravar no STACK de

-- execução, já gravou o stored procedure e o comando que gerou o erro internamente.

--

HADES_ERRO_PACK.SALVA_SPID_LOG(V_SPID,L_,-1,V_MSG);

-- O paràmtro "-1" seria o código do erro cadastrado em HAD_ERROS.

RETURN V_MSG;

END IF;

--

L_ := 10020;

outros comandos ...

--

-- No final do STORED PROCEDURE, sempre deve haver um EXCEPTION WHEN OTHERS

-- para capturar eventuais erros não esperados.

-- O procedimento HADES_ERRO_PACK.TRATA_ERRO (que é chamada pelo ERGON_ERRO_PACK.TRATA_ERRO)

-- foi modificada para aceitar dois parâmetros adicionais: O identificador do stored procedure

-- que está gerando o erro e o contador do comando imediatamente anterior ao comando que

-- causou o erro.

EXCEPTION WHEN OTHERS THEN ERGON_ERRO_PACK.TRATA_ERRO(SQLERRM,V_SPID,L_);

END;

END;

Exemplo de utilização para PROCEDURE/FUNCTION que não está contido num PACKAGE:

PROCEDURE PROC_EXEMPLO (P_PARAM IN NUMBER) IS

-- Declaração de variáveis locais

...

-- Variáveis para identificar o STORED PROCEDURE e o comando

V_SPID NUMBER;

L_ NUMBER;

BEGIN

-- Inicializa o identificador do stored procedure. Como é um stored procedure que não está

-- contido num package, passam-se como parâmetros apenas o owner e o nome do stored procedure

V_SPID := HADES_ERRO_PACK.GET_STOREDPROC_ID('ERGON','PROC_EXEMPLO');

--

-- Como é um stored procedure apenas, não é necessário usar um offset para os contadores

-- de comandos

L_ := 10;

CHAMA_OUTRO_PROCEDURE(P_PARAM);

--

L_ := 20;

IF TESTA_ALGUMA_CONDICAO(P_PARAM) THEN

ERGON_ERRO_PACK.TRATA_ERRO(123,P_PARAM);

END IF;

--

EXCEPTION WHEN OTHERS THEN ERGON_ERRO_PACK.TRATA_ERRO(SQLERRM, V_SPID, L_);

END;

Quando algum erro é gerado ou capturado, basta consultar a tabela HADES_ERROS_STACK para ver os STORED PROCEDURE envolvidos. Se as rotinas foram executadas a partir de uma transação do FORMS, na tabela HADES_ERROS_STACK estarão armazenados o sistema, a transação, o usuário, a máquina e a empresa. Para saber a seqüência de execução, basta ordenar pela coluna DATAHORA. A primeira ocorrência do erro é a que efetivamente gerou o erro. As outras ocorrências mostram a ordem de propagação do erro.

Novos tipos de fórmula na transação Fórmulas de Contagem

Visão do usuário:

Na lista de valores do campo tipo de fórmula, foram incluídos os tipos: tipos CLASSEDECA, CLASSEDECB, CLASSEDECC, CLASSEDECD, CLASSEDECE, CLASSEDEF, CTABSDEC e CTABSDEF.

Detalhes Técnicos:

A constraint FORMCONTA_TIPO_CK foi recriada para incluir os novos tipos.

Botão de pesquisa de informações através do CEP

Visão do usuário:

Nas transações Dependentes (ERG0068), Funcionários (ERG0074), Pensionistas (ERG0179) e Representantes Legais (ERG0331) foram incluídos botões para auxiliar o cadastro dos campos de endereço a partir de um CEP.

Esses botões aparecerão nas transações se a opção BUSCA_CEP (grupo HADES, sistema Hades) estiver com valor S.

Ao apertar o botão, o sistema irá procurar as informações do CEP informado, e se encontrar irá preencher os seguintes campos: tipo de logradouro, endereço, cidade e UF.

Esses botões foram colocados no lado direito do CEP. Verifique os layouts dessas transações.

Nota importante: para que a busca funcione efetivamente é necessário que o Cliente tenha uma base de CEP's e seja feita uma customização para informar a forma como os CEP's serão recuperados. Veja BLV do Hades.

Detalhes Técnicos:

A customização para preencher os campos tipo de logradouro, nome do logradouro, bairro, cidade e UF, a partir de um determinado CEP, é feita na função EP__DADOS_CEP de C_Hades.

Mecanismo de edição de tela para o form ERG0018

Visão do usuário:

Foi implementado o mecanismo de edição de tela para esse form.

Detalhes Técnicos:

Foi implementado o mecanismo de edição de tela para esse form. Foram adicionados os FLEX_CAMPOS de 1 a 5 no bloco INSCRICOES do form.

Lista Pagamento de um Mês / Ano

Visão do usuário:

A transação Lista Pagamento de um Mês / Ano foi criada para apresentar os lançamentos agrupados por competência de um determinado mês/ano da Folha de pagamentos.

Detalhes Técnicos:

Foi criada a transação ERG0350 - Lista Mês/Ano

Implementar opção de crédito para representante legal no relacionamento com a pessoa.

Visão do usuário:

As alterações no módulo de representantes legais são as seguintes:

1-) Transação "Funcionários" (form ERG0074):

O controle de representantes legais foi alterado. A disponibilidade ou não do cadastro de representantes legais varia em função da opção UTILIZA_REPRE_LEGAL_FUNC. Se o valor da opção for "N" (não), a ficha "Repres. Legal" não aparece.

Se o valor for "S" (sim), a ficha "Repres. Legal" aparece com todos os campos do módulo de cadastro de representantes legais.

Foi acrescentado ao cadastro de representante a opção "Recebe Crédito?". Se um histórico de representação estiver marcado como sim, significa que o representante recebe os créditos pelo funcionário. Dentro de um certo período só poderá existir um histórico com essa opção marcada.

2-) Transação "Dependentes" (form ERG0068):

O controle de representantes legais foi alterado. A disponibilidade ou não do cadastro de representantes legais varia em função da opção UTILIZA_REPRE_LEGAL_DEPEN. Se o valor da opção for "N" (não), a ficha "Repres. Legal" não aparece. Apenas os campos anteriores de cadastro representante legal aparecem na ficha principal "Dependentes".

Se o valor for "S" (sim), a ficha "Repres. Legal" aparece com todos os campos do módulo de cadastro de representantes legais. Os campos tradicionais desaparecem.

Foi acrescentado ao cadastro de representante a opção "Recebe Crédito?". Se um histórico de representação estiver marcado como sim, significa que o representante recebe os créditos pelo dependente. Dentro de um certo período só poderá existir um histórico com essa opção marcada.

3-) Transação "Pensionistas" (form ERG0179):

O controle de representantes legais foi alterado. A disponibilidade ou não do cadastro de representantes legais varia em função da opção UTILIZA_REPRE_LEGAL_PENS. Se o valor da opção for "N" (não), a ficha "Representante Legal" não aparece. Apenas os campos anteriores de cadastro de representante legal aparecem na ficha principal "Dependentes".

Se o valor for "S" (sim), a ficha "Representante Legal" aparece com todos os campos do módulo de cadastro de representantes legais. Os campos tradicionais desaparecem.

Foi acrescentado ao cadastro de representante a opção "Recebe Crédito?". Se um histórico de representação estiver marcado como sim, significa que o representante recebe os créditos pelo pensionista. Dentro de um certo período só poderá existir um histórico com essa opção marcada.

Detalhes Técnicos:

As alterações técnicas feitas no módulo de representantes legais são as seguintes:

1-) Transação "Funcionários" (form ERG0074):

O controle de representantes legais foi alterado. A disponibilidade ou não do cadastro de representantes legais varia em função da opção UTILIZA_REPRE_LEGAL_FUNC. Se o valor da opção for "N" (não), a ficha "Repres. Legal" não aparece.

Se o valor for "S" (sim), a ficha "Repres. Legal" aparece com todos os campos do módulo de cadastro de representantes legais.

Foi acrescentado ao cadastro de representante a opção "Recebe Crédito?". Se um histórico de representação estiver marcado como sim, significa que o representante recebe os créditos pelo funcionário. Dentro de um certo período só poderá existir um histórico com essa opção marcada.

2-) Transação "Dependentes" (form ERG0068):

O controle de representantes legais foi alterado. A disponibilidade ou não do cadastro de representantes legais varia em função da opção UTILIZA_REPRE_LEGAL_DEPEN. Se o valor da opção for "N" (não), a ficha "Repres. Legal" não aparece. Apenas os campos anteriores de cadastro representante legal aparecem na ficha principal "Dependentes".

Se o valor for "S" (sim), a ficha "Repres. Legal" aparece com todos os campos do módulo de cadastro de representantes legais. Os campos tradicionais desaparecem.

Foi acrescentado ao cadastro de representante a opção "Recebe Crédito?". Se um histórico de representação estiver marcado como sim, significa que o representante recebe os créditos pelo dependente. Dentro de um certo período só poderá existir um histórico com essa opção marcada.

3-) Transação "Pensionistas" (form ERG0179):

O controle de representantes legais foi alterado. A disponibilidade ou não do cadastro de representantes legais varia em função da opção UTILIZA_REPRE_LEGAL_PENS. Se o valor da opção for "N" (não), a ficha "Representante Legal" não aparece. Apenas os campos anteriores de cadastro de representante legal aparecem na ficha principal "Dependentes".

Se o valor for "S" (sim), a ficha "Representante Legal" aparece com todos os campos do módulo de cadastro de representantes legais. Os campos tradicionais desaparecem.

Foi acrescentado ao cadastro de representante a opção "Recebe Crédito?". Se um histórico de representação estiver marcado como sim, significa que o representante recebe os créditos pelo pensionista. Dentro de um certo período só poderá existir um histórico com essa opção marcada.

Package ERGON_ERRO_PACK: Inserção da faixa de erros de 6040 à 6059 para as tabelas ERG_FUNC_REPR, ERG_DEPEN_REPR, ERG_PENS_REPR.

Package body PCK_ERG_DEPEN_REPR, PCK_ERG_FUNC_REPR,PCK_ERG_PENS_REPR: Algumas alterações nas packages.

-Remoção dos procedimentos INSERT_AUX, UPDATE_AUX, DELETE_AUX.

- Mudança de códigos de erros

-Validação de concomitância para registro marcado com RECEBE_CREDITO igual a "S"

- Atribuição de valor "N" se a coluna RECEBE_CREDITO for nula.

Tabela ERG_DEPEN_REPR: Adição da coluna RECEBE_CREDITO VARCHAR2(1) utilizada para indicar se o representante legal recebe os créditos pelo dependente. Adição de constraint NOT NULL para a coluna.

Tabela ERG_FUNC_REPR: Adição da coluna RECEBE_CREDITO VARCHAR2(1) utilizada para indicar se o representante legal recebe os créditos pelo funcionário. Adição de constraint NOT NULL para a coluna.

Tabela ERG_PENS_REPR: Adição da coluna RECEBE_CREDITO VARCHAR2(1) utilizada para indicar se o representante legal recebe os créditos pelo pensionista. Adição de constraint NOT NULL para a coluna.

Tabela FITABANCO: Adição da coluna NUMREP VARCHAR2(8) que será utilizada para armazenar o número do representante legal.

Anterior Próxima