Nessa vida ouvimos mais nãos que sims (como é o plural de sim? rs...), e me parece que isso vai fazendo com que fiquemos mais maleáveis com nossos erros. Com o não aprendemos os limites, nossos pais já diziam isso.
Mas o que isso tem a ver com Genexus! na prática um não no lugar correto produz resultados incríveis, e principalmente se utilizamos juntamente com o operador IN, então um NÃO EM, facilita muito a vida. Quem já dizia isso era o nosso amigo pHd no Post Genexus dos Sonhos, veja como o não é importante em nossa vida.
Vamos então ao que interessa. Em Genexus temos o operador IN que trabalha sob conjuntos, verificando se determinada informação está presente entre conjuntos. Nossa luta era saber o que não estava.
Por exemplo, no conjunto abaixo, temos um único item que existe nos dois conjuntos (K), e vários que não (A,B,C,d) no conjunto azul e (1, 2, # @ !) no outro conjunto.
Nas versões anteriores de Genexus tínhamos a possibilidade de informar um conjunto de dados de forma fixa, como os exemplos abaixo.
(1)
(3)
Com destaque para o for...each (3) que realiza uma pesquisa em um conjunto de dados previamente carregados em uma variável coleção, por meio de constantes (1, 2, 3).
Na versão X surgiu o objeto Data Selector que permite gerar conjuntos dinâmicos a partir de consultas as tabelas do modelo, gerando boas possibilidades de programação. Tomemos por exemplo as transações abaixo.
E o Data Selector que encontra um Pais qualquer, passado através de um parâmetro.
Um comando for...each devolveria todos os clientes de um determinado pais, cujo identificador é 1.
(4)
E se nosso interesse fosse obter os clientes que não residem no Pais 1, teríamos então que adicionar um NÃO na conversa, conforme o modelo abaixo.
Concluindo
- Os clientes que não compraram nos últimos 6 meses
- Os vendedores que não venderam no mês passado
- Os funcionários que não chegaram no horário,
- http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Value+Range+Property,
- http://wiki.gxtechnical.com/commwiki/servlet/hwiki?IN+Operator,
Nenhum comentário:
Postar um comentário