fev 18 2012 Consumindo um modelo Xcelsius no Crystal Reports Categorias: Crystal Reports , Xcelsius Imprimir esta página por admin 18 de fevereiro de 2012 No artigo de hoje falaremos brevemente sobre como as ferramentas da SAP BO se integram, mais especificamente falaremos da integração existente entre o Xcelsius e o Crystal Reports. Faremos uma demonstração simples e breve de como podemos executar no Crystal reports um modelo de painel criado no Xcelsius. Vamos ao passo a passo: 1- Desenvolver um modelo no xcelsius da seguinte maneira: Insira um gráfico de barras e um combo box.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
fev18 2012
Consumindo um modelo Xcelsius no Crystal Reports Categorias:
Crystal Reports , Xcelsius
Imprimir esta página
por admin
18 de fevereiro de 2012
No artigo de hoje falaremos brevemente sobre como as ferramentas da SAP BO se integram, mais especificamente falaremos da integração existente entre o Xcelsius e o Crystal Reports. Faremos uma demonstração simples e breve de como podemos executar no Crystal reports um modelo de painel criado no Xcelsius.
Vamos ao passo a passo:
1- Desenvolver um modelo no xcelsius da seguinte maneira:
Dados selecione de B2 a B6. Ajuste a janela no limite do componente. Salve o modelo. Exporte para SWF.
2- Desenvolver um relátório no crystal da seguinte maneira:
Crie um novo relatório utilizando o banco de exemplos Xtreme Smaplas database. Insira as tabelas Customer e Orders conforme demonstramos na figura abaixo.
Arraste o campo Customer Country para o quadrado Inserir rótulo de linha. Arraste o campo Order Date para o quadrado Inserir rótulo dacoluna. Arraste o campo Order Amount para o quadrado valor dos dados.
Clique no quadrado Customer Contry e crie uma classificação de grupo para retornar somente 5 países. Selecione o quadrado data e clique em opções. Mude para opção a coluna será impressa para cada ano.
Espero que tenham gostado dessa demonstração. Em breve teremos mais novidades no nosso blog.Fiquem atentos.
Até a próxima.
set27 2011
Xcelsius: Compartilhamento Remoto dos Cenários (Parte 01) Categorias:
Xcelsius
Imprimir esta página
por admin
27 de setembro de 2011
Este post será dividido em cinco partes, sendo a primeira (esta parte) apresentando esta introdução e as telas principais de dados utilizadas em todos os post, a segunda parte terá a funcionalidade que salva os cenários, a terceira parte terá o componente de texto, componente de observação, e a funcionalidade de excluir cenário, a quarta parte terá a funcionalidade de carregar a lista de cenários, carregar os arquivos (cenários), organização dos arquivos e riscos da solução e a última parte (quinta) conterá os JSPs para a solução.
Gostaria de ressaltar que a versão anterior ao Xcelsius 2008 tinha um botão que fazia exatamente a função referente ao tema deste post, porém tiraram nesta versão atual. Para remediar o problema e atender aos projetos, fizemos exatamente como está descrito nos posts (1, 2, 3, 4 e 5).
Introdução e telas principais
Para este post, criamos apenas dois gráficos de barra, os componentes de entrada e saída de texto, o componente que lista todos os arquivos (cenários gravados) existentes e os botões de salvar e excluir.
Segue a tela inicial para mostrar os dados nos gráficos e a funcionalidade da solução apresentada.
Seguem as abas do Excel que utilizaremos em toda a solução.
O botão que salva os cenários é um componente que está associado a uma conexão ou mais, que, por sua vez, chama um JSP. Este botão tem a única e exclusiva função em chamar uma conexão que fará todo o trabalho programado no java, porém ele é importante pois, como é associado a uma conexão disponível, toda vez que for acionado, executará o comando de gravar o cenário.
No nosso caso temos que associar o botão a duas conexões, pois ele deverá salvar os dados em um arquivo XML e ainda atualizar a lista de valores do componente ListBox (mostrado em um dos tópicos a seguir).
Seguem os nomes das conexões:
- Carregar Lista Cenário- Salvar Cenário
Segue a figura contendo as propriedades do botão.
Cabe ressaltar que se você quiser criar outro arquivo com o mesmo nome, o dashboard sobrescreverá o arquivo existente.
Conexão para Salvar Cenário
Para que o botão possa estar associado a alguma conexão, primeiro você deverá criá-los. Vamos fazer um passo a passo utilizando os dados apresentado no tópico que contém os dados iniciais para os gráficos da primeira parte.
A conexão utilizada é a XML Data e esta será a padrão para a solução. Segue a figura contendo as especificações da conexão
Você poderá colocar o nome que desejar no nome da conexão e nós colocamos Salvar Cenário.
No campo XML Data URL, você deverá apontar para a celular onde está o caminho para o arquivo JSP que salva o cenário. Veja que o nome da planilha estava como Pan2 e a célula é a B11.
No MIME Type utilizaremos o método de postagem application x-www-form-urlencoded, pois precisaremos enviar e receber informações para “plotar” nos gráficos. Se eu utilizasse o método Text/XML eu não conseguiria enviar os dados para o meu XML. De qualquer forma não basta escolher este tipo de método apenas, precisaremos dar as informações do que será enviado para o JSP e habilitar o recebimento da resposta.
- Habilite o envio (enable send) e o recebimento (enable load).
ENABLE SEND:- No campo Name, escolha a célula que contenha o nome que você quer gravar o cenário. Esta célula será preenchida pelo Componente de Texto (próximo item). No nosso caso a tab é o PLAN2 e a célula é a B1.- No campo Range escolha todas as células que deverão aparecer nos gráficos. No nosso caso foi da tab PLAN1, da célula A4 até I20.
ENABLE LOAD- No campo Name, coloque apenas um nome de Resposta. Não há necessidade em preencher mais nada, pois esta conexão servirá apenas para gravar a foto do cenário escolhido.
OBS: Não precisa configurar mais nada na aba Usage.
set27 2011
Xcelsius: Compartilhamento Remoto dos Cenários (Parte 03) Categorias:
Este componente de texto irá gravar o nome do cenário desejado. Repare que estamos apontando, nas propriedades deste componente, para uma célula que irá escrever direto na célula do Excel. Cabe ressaltar que a conexão Salvar Cenário irá utilizar este nome para gravar o XML.
Segue a figura com as propriedades deste componente e apontando para a célula onde irá gravar o texto digitado.
- Na aba General, habilitar a inserção de dados na carga e apontar para a célula onde será utilizado pela conexão Salvar Cenário. No caso a tab é a PLAN2 e a célula é a B1.- Habilitar o Link to Cell e apontar para a mesma célula.
Este componente servirá para escrever uma observação e ficar gravado no cenário, porém é opcional na gravação do arquivo. Cabe ressaltar que é apenas um campo de observação. Gostaria de ressaltar que no nosso exemplo, eu não estou incluindo estas informações no meu XML, mas se vocês quiserem, terão que incluir a célula gravada na fonte de dados.
Segue a figura das propriedades do componente apontando para a célula correta.
- Na aba General, habilitar a inserção de dados na carga e apontar para a célula onde será utilizado pela conexão Salvar Cenário. No caso a tab é a PLAN2 e a célula é a B6.
OBS: Como dito anteriormente, não estamos fazendo nada com esta informação no nosso exemplo.
O botão que exclui os cenários é um componente que está associado a uma conexão ou mais, que, por sua vez, chama um JSP. Este botão tem a única e exclusiva função em chamar uma conexão que fará todo o trabalho programado no java, porém ele é importante pois, como é associado a uma conexão disponível, toda vez que for acionado, executará o comando de excluir o cenário.
No nosso caso temos que associar o botão a duas conexões, pois ele deverá salvar os dados em um arquivo XML e ainda atualizar a lista de valores do componente ListBox (mostrado em um dos tópicos a seguir).
Seguem os nomes das conexões:
- Carregar Lista Cenário- Excluir Cenário
Segue a figura contendo as propriedades do botão.
É importante ressaltar que há outras formas de fazer esta funcionalidade, porém nós fizemos desta forma, pois está satisfatório para o projeto que desenvolvemos.
Conexão para Excluir Cenário
Para que o botão possa estar associado a alguma conexão, primeiro você deverá criá-lo.
A conexão utilizada é a XML Data e esta será a padrão para a solução, conforme dito anteriormente. Segue a figura contendo as especificações da conexão.
Você poderá colocar o nome que desejar no nome da conexão e nós colocamos Excluir Cenário.
No campo XML Data URL, você deverá apontar para a celula onde está o caminho para o arquivo JSP que Exclui o cenário. Veja que o nome da planilha estava como Pan2 e a célula é a B13.
No MIME Type utilizaremos o método de postagem application x-www-form-urlencoded, pois precisaremos enviar e receber informações para apagar os cenários. Se eu utilizasse o método Text/XML, não conseguiria enviar os dados para o meu XML. De qualquer forma não basta escolher este tipo de método apenas, precisaremos dar as informações do que será enviado para o JSP e habilitar o recebimento da resposta.
- Habilite o envio (enable send) e o recebimento (enable load).
ENABLE SEND:- No campo Name, escolha a célula que contenha o nome que você quer excluir o cenário. Esta célula será preenchida ao selecionar o cenário na ListBox. No nosso caso, ao selecionar o arquivo, a celular B7 da tab PLAN2 será preenchida.- No campo Range escolhemos a mesma célula.
ENABLE LOAD- No campo Name, coloque apenas um nome de Response (nome em inglês).- No caso do Range, colocamos a mesma célula B7 da tab PLAN2.
set27 2011
Xcelsius: Compartilhamento Remoto dos Cenários (Parte 04) Categorias:
Componente ListBoxEste componente é uma lista de texto (List Box) e ele servirá para carregar os cenários previamente gravados. Nesta lista aparecerão todos os cenários (arquivos) gravados com as simulações feitas.
Segue a configuração que fizemos nas propriedades do ListBox:
Aba General:- No nome, colocamos como Lista;- O tipo de inserção foi Linha (row);- A fonte dos dados nós apontamos para uma área que gravarão nome de todos os arquivos gravados. No nosso caso é a aba PLAN3 e as células são de A1 até A16;- No destino nós apontamos para a célula onde foi gravado o nome do arquivo a ser carregado (aba PLAN2 e célula B7). No caso foi a mesma célula do Excluir Cenário.- Configuramos para interagir apenas (Interaction Only) no Insert ON.
Segue a figura das propriedades do componente.
Conexão ListBox
A conexão ListBox será executada todas as vezes que o usuário fizer a inclusão ou apagar qualquer simulação de cenário. Esta conexão deverá estar selecionada no componente de atualização das conexões (Salvar e Apagar) em propriedades destes componentes.
Você poderá colocar o nome que desejar no nome da conexão e nós colocamos Carregar Lista Cenario.
No campo XML Data URL, você deverá apontar para a célula onde está o caminho para o arquivo JSP que carrega a lista de cenários. Veja que o nome da planilha está no Pan2 e a célula é a B12.
No MIME Type utilizaremos o método de postagem application x-www-form-urlencoded, pois precisaremos enviar e receber informações para apagar os cenários. Se eu utilizasse o método Text/XML, não conseguiria enviar os dados para o meu XML. De qualquer forma não basta escolher este tipo de método apenas, precisaremos dar as informações do que será enviado para o JSP e habilitar o recebimento da resposta.
- Habilite o envio (enable send) e o recebimento (enable load).
ENABLE SEND:
- No campo Name, escolha a célula que contenha o nome do cenário que você quer carregar (ao selecionar). No nosso exemplo a célula é a B3 na PLAN2. Esta célula será preenchida ao selecionar o cenário na ListBox.- No campo Range escolhemos a mesma célula do item anterior.
ENABLE LOAD- No campo Name, coloque o nome FileList (nome em inglês), pois o JSP deve reconhecer este nome.- No caso do Range, colocamos o range de célula da aba PLAN3 que vai da A1 até A16. Cabe ressaltar que este range depende do número de arquivos que serão gravados a simulação dos cenários.
Para carregar o cenário, não há a necessidade em incluir um novo componente, pois teremos que apenas ler o XML após selecionar a fotografia desejada. Ao selecionar o arquivo desejado, os dados do cenário serão exibidos automaticamente sem que haja a necessidade de apertar qualquer botão.
Para que está funcionalidade funcione, teremos que incluir apenas uma conexão para ler o arquivo XML e “plotar” nos gráficos.
Você poderá colocar o nome que desejar no nome da conexão e nós colocamos Carregar Arquivo.
Crie uma conexão XML Data e no campo XML Data URL, você deverá apontar para a célula onde está o caminho contendo todos os cenários. Veja que o nome da planilha está como Pan2 e a célula é a B5.
No MIME Type utilizaremos o método de postagem application Text/XML, pois não precisaremos enviar informações ao XML. Precisaremos habilitar apenas o recebimento das respotas (enable load).
- Habilite o recebimento (enable load).
ENABLE LOAD
- No campo Name, aponte para o campo B7 da aba PLAN2.- No caso do Range, selecione todos os dados da PLAN1 que vai da célula A4 até a I20.
- Coloque todos os JSPs na pasta C:\Program Files\Business Objects\Tomcat55\webapps\Xcelsius;- Criar uma pasta chamada SavedScenarios. Segue o caminho completo.C:\Program Files\Business Objects\Tomcat55\webapps\Xcelsius\SavedScenarios.
Riscos da Solução
- Qualquer pssoa que te acesso ao servidor poderá visualizar os dados do cenário ou apagar qualquer um deles;- Caso seja feita qualquer atualização do TOMCAT, as pastas serão sobrescritas e os JSPs serão perdidos, bem como a pasta SavedScenarios será apagada;- Esta solução não é suportada pela SAP ou pelo blog SAPBO.com.br.
set27 2011
Xcelsius: Compartilhamento Remoto dos Cenários (Parte 05) Categorias:
Xcelsius
Imprimir esta página
por admin
27 de setembro de 2011
Parte 5 (Arquivos)
Seguem os arquivos utilizado para salvar, excluir e extrair a listagem dos cenários.
SaveScenario
<%@page contentType="text/html" pageEncoding="UTF-8"%><%@page import="java.io.*" %><%// Set the path to save scenarios
// Build a string from the inputInputStream in = request.getInputStream();
BufferedReader r = new BufferedReader(new InputStreamReader(in));StringBuffer buf = new StringBuffer();String line;while ((line = r.readLine())!=null) {
buf.append(line);}
String xmlString = buf.toString();
// Write this to an xml fileint startPos = xmlString.indexOf("variable name=") + 15;int endPos = xmlString.indexOf("\">");String fileName = xmlString.substring(startPos, endPos);
PrintWriter fileWriter = new PrintWriter (new BufferedWriter(new FileWriter(scenarioPath + fileName + ".xml")));fileWriter.write(xmlString);fileWriter.flush();fileWriter.close();
Link que originaram este post.http://blog.davidg.com.au/2011/03/saving-scenarios-in-xcelsius.html
OBS: O post citado acima originou este artigo, porém estamos trabalhando para criar outro arquivo Java para poder remediar os problemas que esta solução gerou e que foram mencionados no item anterior.
set17 2011
Query as a Web Service (QaaWS – Parte 01) Categorias:
QaaWS , Xcelsius
Imprimir esta página
por admin
17 de setembro de 2011
No artigo de hoje vamos falar sobre uma ferramenta muito útil para montarmos consultas e consumirmos a mesma através de ferramentas como o Xcelsius.
Antes de qualquer coisa vamos entender alguns conceitos, arquitetura e utilização dessa ferramenta muito útil.
1 – O que é o Query as a Web Service?
É um aplicativo que permite que usuários criem e publiquem consultas rapidamente como um serviço web.
Uma consulta como um serviço web é uma instrução SQL que foi construída sobre um universo do SAP BO e publicado como um serviço web para um servidor.
2 – Componentes Server e Client da Arquitetura Query as a Web Service
O Query as a Web Service foi projetado para trabalhar em cima de qualquer aplicação Windows da mesma forma que outros serviços Web.
O Query as a Web Service é baseado nas especificações de serviços da web do W3C (SOAP, WSDL,e XML).
Ela tem dois componentes principais: Componente Servidor e Ferramenta Cliente.
Componente Servidor – O Componente Servidor armazena as consultas como um catálogo de serviços web e hospeda os serviços webpublicados.
Ferramenta Cliente – Esse é o lugar onde os usuários de negócio criam e publicam suas consultas como um serviço web.
Abaixo segue o desenho da arquitetura aqui explicada.
3 – Workflow do Query as a Web Service
O primeiro workflow é baseado no processo de desenvolvimento.
Existe um Universo onde se conecta ao QaaWS, que por sua vez é linkado e mapeado no Xcelsius, onde exportando e publicandodocumentos, pode-se visualizar em qualquer dos formatos (Office, PDF) ou em qualquer ferramenta BO (WebI, DesktopI, Crystal Reports).
O Segundo workflow é baseado no processo de execução da ferramenta.
Existe um universo onde se conecta ao documento WSDL (que nada mais é do que uma URL gerado pelo Web Service), que faz link direto as ferramentas de visualização.
No próximo artigo vamos demonstrar a utilização da ferramenta Query as a Web Service construindo uma consulta a partir de umuniverso e consumindo essas informações no Xcelsius, espero que tenha gostado dessa parte conceitual, pois ela é importante para entender melhor os exemplos do próximo artigo.
Até a próxima.
set21 2011
Query as a Web Services (QaaWS – Parte 02) Categorias:
No ultimo artigo vimos alguns conceitos ligados ao QaaWS, hoje vamos começar a apresentar um exemplode como utilizar esse importante recurso disponível na plataforma SAP BO.
O Exemplo que iremos apresentar será uma integração entre a ferramenta Query as a Web Services com oXcelsius, a ideia é montarmos um relatório ou dashboard com informações oriundas de um universo e não de uma planilha Excel.
Abaixo apresentamos o Workflow de integração QaaWS com o Xcelsius.
Espero que tenham gostado dessa segunda parte do artigo, no próximo post falaremos sobre como criar a conexão do Query as a WebServices no Xcelsius bem como a construção de um relatório baseado na consulta criada.
Como funciona:A primeira posição (12.X.X.XXX) é a versão do software, a segunda (XX.3.X.XXX) posição é a do service pack, a terceira posição (XX.X.0.XXX) é o fix pack e a última posição (XX.X.X.670) é o número do argumento.Exemplo completo: 12.3.0.670
Obs.:O Xcelsius 2008 está na versão 5 do software e o Business Objects XI release 3 está na versão 12 do software.
Até a próxima!
jul26 2011
jul02 2011
Xcelsius & LiveOffice (Parte 01) Categorias:
Xcelsius
Imprimir esta página
por admin
2 de julho de 2011
Nesse post vamos falar sobre a integração do Xcelsius com relatórios Web Intelligence via LiveOffice e para essa primeira parte vamos à prática:
Obs.: Esse modo de utilizar o LiveOffice e Xcelsius é só uma delas, pois há uma outra forma de utilizar a integração.Abra o MS Excel
- Na aba LiveOffice, vá na opção “Insert” (ou “Inserir”) e selecione “WebIntelligence”
– Autentique-se no BO, inserindo seu usuário e senha.
No próximo post faremos a criação de um painel (dashboard) simples usando essa funcionalidade e a conexão de um relatório do WebIntelligence via LiveOffice.
Xcelsius & LiveOffice (Parte 02) Categorias:
LiveOffice , Xcelsius
Imprimir esta página
por admin
26 de julho de 2011
Continuando com o post anterior vamos agora criar um dashboard muito simples visando a utilizar o aprendido.
• Escolha um componente qualquer (Exemplo: Line Chart)• Nas suas propriedades, vamos editá-lo da seguinte forma:–Em “Title”, mapeie qualquer célula–Em “Data”, clique na opção “By series” e clique na opção “+” se for inserir uma ou mais séries.• Mapeie seus nomes e valores–Em “Category Labels (X)” mapeie o seu eixo “X” no gráfico.• Faça as demais edições nas propriedades do componente:–Behavior
• Common, Scale e Animations and Effects–Apparence• Layout, Series, Axes, Text e Colors
• Obs: Cada componente tem suas próprias propriedades e não são comum à todos!Feito as devidas edições nas propriedades do componente, clique em “Preview”
• Para que os dados venham atualizados assim que o painel for carregado, edite as configurações de conexão do Live Office.–Clique em “Manage Connections”.–Selecione sua conexão Live Office–Clique na aba “Usage”–Habilite a opção “Refresh Before Components Are Loaded”–Habilite a opção “Enable Load Cursor”–Habilite a opção “Disable Mouse Input on Load”–Clique em “Close”–No Painel, clique em “Preview”