Identificador de Regra
GER-075CREPD01
Módulo: GER - Gerais.
Finalidade: Ao excluir um produto ou derivação nas telas de cadastro do Gestão Empresarial | ERP, internamente o sistema executa uma rotina que percorre todas as tabelas do banco de dados que possuem relação com a "E075DER" ou "E075PRO", checando se há registros relacionados ao produto/derivação que está sendo excluído, sendo que se houver, é exibida uma mensagem e a exclusão é abortada. Porém, esta rotina pode se tornar lenta em bases com grande quantidade de registros em várias tabelas relacionadas.
Para amenizar este problema, foi criado este identificador, em cuja regra o usuário definirá em quais tabelas deverá ser feita a checagem de existência de registros relacionados ao produto ou derivação que está sendo excluído. Com isso, o sistema verificará apenas as tabelas informadas na regra, não executando mais select's em todas as tabelas do ERP que possuam relação com a "E075PRO" ou "E075DER", o que agilizará em muito o processo. Por exemplo, o cliente poderá definir nessa regra que deverão ser verificadas somente as tabelas "E210EST, E700CMM, E814NBC e E815NB", ou seja, ao excluir uma derivação, se não houver registros nessas tabelas, a exclusão poderá ser feita sem problemas.
Características: Observações importantes:
=================
1) O sistema irá checar as tabelas pela ordem em que elas tiverem sido informadas na variável "VSTabCon". Por exemplo, se na variável foi retornado o valor "E210EST,E700CTM", primeiramente o sistema verificará a existência de registros relacionados somente na "E210EST". Se encontrar, exibe uma mensagem para o usuário e impede a exclusão. Se não encontrar nada na "E210EST", verifica na "E700CTM".
2) Se alguma tabela que possui "FK" (foreign key) para a "E075DER" ou "E075PRO" no banco de dados não for colocada na regra, aparecerá um erro vindo do banco de dados ao tentar excluir a derivação. Por exemplo: supondo que a derivação tenha alguma ligação com depósito mas que a tabela "E210EST" não tenha sido colocada na regra, nesse caso a exclusão não será feita, aparecendo mensagem de erro do banco de dados dizendo que há relacionamento com a tabela "E210EST".
3) Várias tabelas no ERP tem relacionamento com a "E075DER" ou "E075PRO", porém não possuem "FK" no banco de dados. Se por acaso estas tabelas não forem retornadas na regra, o produto/derivação será excluído mesmo havendo registros relacionados em outras tabelas, o que PODE GERAR ENORMES DANOS NO Gestão Empresarial | ERP. Por isso, é FUNDAMENTAL analisar com cuidado o processo de cadastramento de produtos e levantar com exatidão as tabelas que devem ser consistidas. Por exemplo: se na empresa o produto é cadastrado e imediatamente após isso são feitas as ligações com os depósitos, então basta retornar na regra a tabela "E210EST", pois se não tiver nenhuma ligação com depósito, então pode ser feita a exclusão.
Tela: Exclusão de produtos/derivações
Transação: Não se aplica.
Regra:
Definir Alfa VSTabCon; @ Tabelas a Consistir @
Definir Alfa VSProDer;
Definir Alfa VSCodPro;
Definir Alfa VSCodDer;
VSTabCon = "E210EST,E700CTM,E700CMM";
Neste exemplo, o sistema permitirá que seja feita a exclusão de produtos ou derivações que não possuam nenhum registro relacionado nas tabelas "E210EST", "E700CTM" e "E700CMM".
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSProDer | ALFA | Indica se está sendo excluído um produto (P) ou uma derivação (D) | N |
VCodEmp | NÚMERO | Empresa do produto/derivação que está sendo excluído | N |
VSCodPro | ALFA | Produto que está sendo excluído | N |
VSCodDer | ALFA | Derivação que está sendo excluída | N |
VSTabCon | ALFA | Tabelas que devem ser consistidas (SEPARAR OS VALORES POR VÍRGULA) | S |
Atenção
Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.
Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.