«

»

mar 04 2014

Dashboard 4.0 – Atualização dinâmica do status do componente check box – Parte 1

Olá pessoal, o nosso blog tem como objetivo trazer sempre alguma novidade ou dica preciosa sobre as ferramentas da SAP com o objetivo de unir e ajudar toda a comunidade de profissionais espalhadas pelo Brasil e pelo mundo. Hoje vamos falar sobre um tópico específico de desenvolvimento em painéis Dashboards. Essa foi uma dificuldade que eu particularmente enfrentei em um dos projetos que participei e acredito que é uma dificuldade que muitos profissionais também já passaram ou passam com essa ferramenta. A grande questão do post de hoje é, será que é possível fazer um componente check box funcionar de forma dinâmica? Vamos ao entendimento dessa questão que a princípio parece ser simples, mas não é.

1 – Para verificar ou não verificar?

Um dos pedidos mais comuns quando se usa SAP BusinessObjects Dashboards ( Xcelsius ) é a capacidade de redefinir seletivamente componentes Seletor de volta ao seu estado original. Ao contrário de muitos outros seletores, a tarefa não é tão fácil de conseguir com o componente Check Box. Não podemos atualizar dinamicamente o seu estado verificado / Desmarcado, porque as mudanças do valor na célula que o componente é obrigado a não afetar o próprio componente. A falta desta funcionalidade também torna difícil apoiar a atualização dos status de várias caixas de seleção ao mesmo tempo. Este post é o primeiro de uma série em que eu vou compartilhar a minha solução para esse desafio e examinar algumas das suas aplicações práticas.

Componente Xcelsius Check Box é semelhante ao seu homólogo Excel, mas age de forma diferente. No Excel, a conexão entre um controle de caixa de seleção e sua célula vinculada funciona nos dois sentidos, como se conclui da propriedade do controle: Ligação celular. Atualizando o status caixa de seleção altera o valor na célula vinculada, e vice- versa. Assim, no Excel, podemos alterar dinamicamente um valor de célula ligada e ver a mudança imediata no estado do componente. Esse não é o caso do componente check box.

Vamos realizar um teste simples e comparar os resultados com o mesmo cenário no Excel e Xcelsius:

1. Adicionar uma caixa de seleção e um controle de botão de rotação do Formulário Excel seção Controles para uma planilha e associar os dois a célula C2.

2. Defina os valores de botão de rotação variando de 0 a 1.

 

060612_2113_Dynamicstat1

3. Quando a caixa de seleção está marcada / desmarcada a célula recebe valores verdadeiro / falso.

060612_2113_Dynamicstat2

Quando o botão de rotação é clicado para cima ou para baixo altera valores na célula vinculada a 1 ou 0 e, ao mesmo tempo o estado da caixa de seleção fica alternado também.

060612_2113_Dynamicstat3

4. Agora, vamos ver o que acontece no Dashboard.

Adicione uma Caixa de seleção, Spinner e um componente de valor único para uma tela conforme demonstrado na imagem abaixo.

060612_2113_Dynamicstat4

5. Ligue todos os componentes para a célula C2 e abra um Preview.

6. Quando a caixa está marcada ou desmarcada a célula de destino recebe valores de 1 ou 0.

060612_2113_Dynamicstat5Mas quando o spinner atualiza o valor na célula o status nas caixas não muda.

060612_2113_Dynamicstat6

Isto significa que, na versão atual do Dashboard não há nenhuma funcionalidade built-in para alternar dinamicamente o status verificado / Desmarcado do componente Caixa de Seleção.

Felizmente, há um trabalho em torno. Ao contrário de controles de formulário Excel, componentes Dashboard tem uma propriedade chamada de Visibilidade Dinâmica. Usando a sua magia em um conjunto com um componente Botão, podemos simular a funcionalidade de caixa de seleção do Excel em um Dashboard.

Vamos criar um modelo que demonstra essa técnica:

  1. Adicione duas Push Button e dois check box para uma tela. Vamos Personalizar um botão de pressão e combinar caixas de seleção e um botão em um botão personalizado. Podemos também usar os componentes de imagem em vez disso, é só temos um bom par de imagens de uma caixa de seleção marcada e desmarcada.
  2. Defina a propriedade do item de uma das caixas de seleção como verificado e o outro como desmarcada. A propriedade desse item está localizada na guia Comum da seção Comportamento. Vincular dados de origem para os botões de ação para a célula A3 e Destino para H3. A fórmula do Excel em A3 é = 1-H3 e o valor inicial no H3 é 1.
  3. A célula H3 vai definir a propriedade Visibility Status dinâmico para ambas as caixas de seleção. Defina a propriedade de chave para a caixa de seleção marcada para 1 e 0 para o desmarcado.

Neste ponto, a configuração do modelo deve ser semelhante à figura a seguir:

060612_2113_Dynamicstat7

1. Um dos botões vai ser exibido como é, e o outro será transparente. Sua propriedade Label deve estar em branco e a propriedade Fundo Botão Show desmarcada.

2. No componente check box coloque o botão transparente em cima deles.

3. Adicionar componente Tabela de planilha para ver o que acontece por trás da visualização.

Agora estamos prontos para testar.

Quando começa uma pré-visualização, podemos ver que a caixa de seleção está marcada e os valores em A3 (sombra em verde) é 0 e em H3 (sombreados em amarelo) é 1.

060612_2113_Dynamicstat8Quando um usuário clica em uma caixa de seleção, o que não está marcado, os valores em H3 e A3 se transformam em 0 e 1, respectivamente.

060612_2113_Dynamicstat9

Clicando sobre a caixa de seleção desmarcada traz o modelo para o estado inicial. E, como nos lembramos, o real clique acontece no botão de comando, e não em uma caixa de seleção. Mas é transparente para o usuário.

Esta abordagem permite que simulemos a funcionalidade caixa de seleção Excel em redefinir o status verificado / Desmarcado do componente check box. Também nos dá um modelo de trabalho que pode se estender para projetos mais complexos que fornecem regras baseadas em seleção dinâmicas de componentes logicamente agrupados em várias check boxes. Vou mostrar um exemplo na Parte 2 desta série: Selecionar todos ou selecione Nenhum.

Espero que tenham gostado dessa primeira parte do artigo e não percam as outras pois de agora em diante a coisa fica um pouco mais complicada.

 

Abraços!!!!

 

Sobre o autor

Elmar Ricardo

Consultor de BI contando com 12 anos de experiência em consultoria e desenvolvimento em projetos de B.I. Atualmente atua como Analista de BI Sr atuando especificamente com as tecnologias SAP BO e BW . Foi responsável pela condução e desenvolvimento de diversos projetos na Petrobras relacionados a BI e levantamento de requisitos, desenvolvimento de Dashboards Corporativos bem como especificação funcional e técnica. É Pós Graduado na PUC Rio em Análise, Projeto e Gerência de Sistemas e possui certificação em ITIL - Fundation Certificate in IT Service Management. Trabalhou como consultor em clientes como Souza Cruz, Xerox do Brasil e Vale atuando em desenvolvimento de projetos de DW.
Possui larga experiência nas tecnologias da SAP Business Objects atuando no mercado como consultor e desenvolvedor.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *