Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: SQL e a Teoria de Conjuntos

_Créditos das imagens: Grok ### 🚀 Você sabia? SQL e a Teoria de Conjuntos estão mais conectados do que imagina! A linguagem SQL (Structured Query Language) tem suas raízes na teoria de conjuntos, um conceito matemático que trata de coleções de objetos. Em bancos de dados relacionais, cada tabela é um conjunto de linhas (ou tuplas), e operações como SELECT, JOIN, UNION e INTERSECT são inspiradas em operações como união (∪), interseção (∩) e diferença (-). Vamos explorar como isso funciona? 👇 --- ### 🔍 Principais Operações de Conjuntos no SQL Imagine duas tabelas simples: Clientes (Conjunto A): ``` +----+-------+ | ID | Nome | +----+-------+ | 1 | Ana | | 2 | João | | 3 | Maria | +----+-------+ ``` Pedidos (Conjunto B): ``` +----+-----------+ | ID | Cliente_ID| +----+-----------+ | 1 | 1 | | 2 | 2 | | 3 | 1 | +----+-----------+ ``` #### 1. União (UNION) - O que faz: Junta tudo de A e B, sem duplicatas (A ∪ B). - Exemplo: ```sql SELECT id FROM cli...

BlackTDN :: Execuçao de Códigos em AdvPL por Filial/Empresa

Uma das GRANDES sacadas da TOTVS foi a questão de poder configurar o TOTVS Microsiga Protheus, seu sistema de ERP, utilizando o conceito de "Gestão de Empresas". Uma sacada, ainda maior, seria a possíbilidade de configurar a execução de PE (Pontos de Entrada), Customizações, etc., também, por Empresa/Filial considerando se: Produção ou Teste.

Hoje temos que tomar um enorme cuidado com este procedimento. Ele fica à cargo do Implementador da Regra de Negócio podendo causar efeitos colaterais indesejados.

Seria muito interessante se existisse uma tabela de configurações de programas a serem executados onde, mesmo que o programa estivesse compilado no RPO ele só seria executado se autoriado. A TOTVS nos forneceria funlçoes para testar em que Empresa/Filial/Ambiente o código seria executado. Teriamos algo como:

Tabela Execução AdvPL

 Environment

Empresa 

 Filial

 Programa/Função

 Habilitado

 Observação

 Produção

01 

 01

 ADVPL-01.PRX

 Sim

 Programa utilizado para ...

 Teste

01

 01

 ADVPL-01.PRX

 Não




O modelo acima serve apenas como exemplo. Lógicamente teriamos algo mais sofisticado. E, considerando o exemplo teriamos algumas funções para validar a execução. Exemplo:

Programa:ADVPL-01.PRX
Funcao: U_ADVPL-01()
User Function ADVPL-01()
  
BEGIN SEQUENCE

IF .NOT.(VALID_EXECUTE())
     BREAK
ENDIF

//...Implementação do código a ser executado.

END SEQUENCE  

Return(NIL)

Com isso, além de termos o controle/mapeamento de tudo o que está "Compilado" e sendo executado no sistema teriamos mais segurança para a implementação das customizações.

Fica a dica.

[]s
иαldσ dj


Comentários

  1. Fala aee naldo?
    No CFG tem opção de selecionar se o PE vai ser executado na filial X Y Z.
    Não cheguei testar empresa e funções.
    Com isso evita no fonte validar com xFilial / cEmpAnt / cFilAnt.......

    ResponderExcluir

Postar um comentário

Postagens mais visitadas