O Processo Customizado disponibilizado pelo Mega Empresarial permite customizar determinados processos do sistema e inserir regras específicas.
Configuração
Todos os processos customizados de todos os módulos têm sua configuração armazenada na tabela MGGLO.GLO_PROCESSOCUSTOMIZADO, que possui os seguintes campos:
PRC_ST_NOMEOBJETO: Nome do objeto do banco (function) que retornará os dados customizados. Deve conter o nome do usuário (Owner) e o nome do objeto (exemplo: MGMAG.F_NOMEOBJETO).
PRC_ST_NOMEPROCESSO: Nome de identificação do processo customizado.
PRC_ST_OWNER: Nome do usuário (Owner) da package.
PRC_ST_PACKAGE: Nome da package que terá customização.
PRC_ST_DESCRICAO: Descreve a utilização do processo customizado.
PRC_ST_EXEMPLO: Código de uma função exemplo, de como implementar uma função específica, que será indicada no campo PRC_ST_NOMEOBJETO.
PRC_BO_STATUS: Define se o processo customizado está ativado (S) ou desativado (N).
A figura a seguir, exibe um exemplo de como ficam os dados de configuração do(s) processo(s) customizado(s) quando não há nenhuma customização.
Para que o Processo Customizado seja executado, será necessário ajustar os seguintes campos da tabela MGGLO.GLO_PROCESSOCUSTOMIZADO:
PRC_ST_NOMEOBJETO: Informar o nome do objeto do banco (function) que retornará os dados customizados. Este nome deve ser composto pelo nome do usuário (Owner) e o nome do objeto (exemplo: MGMAG.F_NOMEOBJETO);
PRC_BO_STATUS: Informar "S";
Não existe uma tela dentro do Mega Empresarial onde esses dados possam ser manipulados, por isso é necessário um profissional de conhecimento técnico para configurá-lo.
A regra só será utilizada pelo sistema se esses valores forem informados corretamente.
Funcionamento
O processo customizado é executado da seguinte forma: a package responsável pelo processo customizado chama a package de funções globais (owner MGGLO) passando os parâmetros que identificam o registro do processo customizado na tabela MGGLO.GLO_PROCESSOCUSTOMIZADO, e também os parâmetros necessários para a função específica. A função global dos processos customizados verifica se há uma função específica para customização e se o processo customizado está ativo, em caso positivo, será executada a função específica que preencherá as tabelas para gerar as informações.
A função específica que retornará os dados customizados deverá ser criada com as mesmas características existentes na função de exemplo.Dentre as características mais importantes a serem utilizadas para a criação desta função, estão:
- Sempre deverá ser uma função (Function), ou seja, não poderá ser um procedimento (Procedure);
- A função criada sempre deverá receber um parâmetro do tipo Varchar2;
- Deverá ser criada uma variável do tipo “sys_refcursor”;
- Deverá ser criada uma variável do tipo “xmltype”;
- A variável do tipo “xmltype” deverá ser utilizada conforme exemplo, dentro do bloco “Extraindo XML dos parâmetros”;
- O retorno da função obrigatoriamente deverá ser a variável do tipo sys_refcursor.
Caso ocorra algum erro no processo customizado, como por exemplo, erro de implementação na função específica, o sistema não acusará nenhum erro. Ele simplesmente não irá gerar os registros customizados como se não houvesse processo customizado. Por isso, é importante fazer todos os tratamentos de erros necessários para garantir que a implementação funcione corretamente.
Recomendamos a criação do objeto no owner MGCUSTOM.