Está en la página 1de 253

SAP BW

BUSINESS INFORMATION WAREHOUSE


SAP-BW

GUIA DE REFERÊNCIA
Treinamento SAP-BW

Conteúdo
Introdução ............................................................................................................................................................................... 4
Modelagem Star Schema e MER ............................................................................................................................................ 5
Granularidade ......................................................................................................................................................................... 7
Nomenclatura BW ................................................................................................................................................................... 8
Business Content ................................................................................................................................................................... 11
Repositório de Metadados ..................................................................................................................................................... 15
Criação de Infoarea .............................................................................................................................................................. 17
Criação de Catálogos ............................................................................................................................................................ 18
Localizar objetos.................................................................................................................................................................... 19
Requisição para transporte ................................................................................................................................................... 20
Criação de Infoobjetos .......................................................................................................................................................... 21
Criação de Infoobjetos - Características .............................................................................................................................. 22
Tabelas geradas para um Infoobjeto .................................................................................................................................... 30
Inserir uma característica como Infoprovider ..................................................................................................................... 31
Criação de Infoobjetos - Keyfigures ..................................................................................................................................... 32
Visão ao final da criação de todos os Infoobjetos ................................................................................................................ 36
Criando hierarquias manualmente no BW .......................................................................................................................... 37
Criação de um Cubo Standard.............................................................................................................................................. 42
Tabelas geradas para um Cubo ............................................................................................................................................ 47
Relação entre tabela Fato e Dimensões: .............................................................................................................................. 49
Criação de uma DSO Standard............................................................................................................................................. 50
DSO Standard – Funcionamento das tabelas: ..................................................................................................................... 54
Parâmetros de configuração de uma DSO: .......................................................................................................................... 55
Tipos de DSO e suas funções:............................................................................................................................................... 56
Criação de um Multiprovider ................................................................................................................................................ 57
Criação de um Infoset ........................................................................................................................................................... 65
Criação de um Remote Provider (Virtual Cube) .................................................................................................................. 70
Infoobjeto Característica com acesso Remoto aos dados mestres ....................................................................................... 75
Processo de ETL - Criar/Ativar/Replicar Datasource........................................................................................................ 76
Processo de ETL – Datasource já está pronto ...................................................................................................................... 87
Processo de ETL – Entre objetos do BW ............................................................................................................................ 101
Ampliação de Datasources (Quando sua tabela tem campos “Z” / “Y”) .......................................................................... 105
Atributos com Dependência de tempo – Exemplo de Funcionamento .............................................................................. 111
Agregados ............................................................................................................................................................................ 117
Administração de Infoproviders ......................................................................................................................................... 120
Process Chain – Automatização de Cargas ........................................................................................................................ 124

2
Treinamento SAP-BW

Reporting - Query Designer ................................................................................................................................................ 136


Reporting - Restrições ......................................................................................................................................................... 139
Reporting - Variáveis .......................................................................................................................................................... 141
Reporting - Variáveis – Exit de cliente (Documento SAP How to...) ................................................................................ 144
Reporting – Condições ........................................................................................................................................................ 153
Reporting – Exceções .......................................................................................................................................................... 155
Reporting – Fórmulas ......................................................................................................................................................... 159
Reporting – Keyfigure Calculada / Restrita ....................................................................................................................... 162
Reporting – Estruturas ........................................................................................................................................................ 163
Reporting – Definição de células ........................................................................................................................................ 164
Reporting – Navegação Web ............................................................................................................................................... 165
Reporting – Analyzer (Frontend é o Excel)........................................................................................................................ 166
Reporting – Analyzer (Visões) ............................................................................................................................................ 168
Reporting – Analyzer (Modo Design) ................................................................................................................................. 169
Reporting – WAD (Web Application designer) .................................................................................................................. 172
Algumas dicas em Geral ..................................................................................................................................................... 180
Saltos de Queries (RSBBS) ................................................................................................................................................. 181
Open Hub ............................................................................................................................................................................ 182
Infospokes (Versão 3.x)....................................................................................................................................................... 184
Visão geral do processo de carga da versão 3.X (e anterior) ............................................................................................. 187

A partir da Página 188 – Orientação para os exercícios

3
Treinamento SAP-BW

Introdução

Uma das definições para Data warehouse é “...uma cópia dos dados transacionais especialmente estruturados
para relatórios e análises.”

Ralph Kimbal – “The Data warehouse Toolkit”

O que fazer com a enorme quantidade de registros (dados) armazenada nas últimas décadas nas bases de
dados das empresas? Como tirar proveito de dados históricos para tomada de decisões, avaliar algum problema e
aumentar a competitividade?
Para auxiliar nessa tarefa as empresas estão investindo em BI (Business Intelligence). São ferramentas de
análise estratégica com alta qualidade de informação, projetos com curto prazo de implementação e com utilização de
poucos recursos.
O BW da SAP é uma dessas ferramentas de suporte a decisão. Vejamos abaixo algumas diferenças entre um
ambiente operacional (em nosso caso o R/3) e o ambiente onde roda o BW.

R/3 (Operacional - OLTP) BW (Suporte a decisão - OLAP)


Detalhado, dados de transações Dados sumarizados

Dados atuais, com o mínimo de dados históricos Dados históricos são requeridos para análise

Estruturas normalizadas para ganho de performance A modelagem é baseada na necessidade. Não tem muita
normalização

Atualizar, Eliminar, Inserir Apenas leitura (*Não levando em consideração BI-IP)

4
Treinamento SAP-BW

Modelagem Star Schema e MER

Criar um banco de dados seguindo a modelagem Star Schema é o passo básico para criação dos Cubos em
um projeto de datawarehouse. Será baseado nesse esquema a criação dos cubos.
Vamos ver o mesmo problema, modelado de duas maneiras diferentes:
 MER: Modelo de entidade e relacionamento
 Star Schema (Multidimensional)

Desejamos criar um modelo para um banco de dados de Vendas. Um exemplo bem simples utilizando primeiro
o MER:

É perfeitamente possível criar todo tipo de relatório para análise a partir desse modelo. Mas vamos nos deparar
com o problema do tempo de resposta e a falta de recursos do produto final (Classificações por diferentes campos,
totalizações, subtotais, análise do valor por outro campo, navegações em geral, etc.)
Mesmo criando relatórios utilizando ALV não será possível ver o resultado sem que o programa execute em
background (Lembrando que o volume de dados é muito grande), o que elimina qualquer recurso de relatórios
dinâmicos.
Isso acontece porque esse modelo é feito para ter uma boa performance no dia-a-dia, dados transacionais que
ocorrem todo tempo.

5
Treinamento SAP-BW

Vejamos agora um exemplo de como transformar o modelo da figura anterior em um modelo Multidimensional (Star
Schema) e suas vantagens em termos de performance para relatórios:

A idéia a agrupar campos semelhantes no que chamamos de dimensão (Vendedor, Tempo, Fornecimento,
Material e Cliente). Ao centro temos a tabela fato que é onde vamos ter as chaves para as dimensões e os valores que
gostaríamos de analisar, nossos KPIs (Keyfigures).
Com as dimensões respondemos “Quem?”, “Onde”, “Quando?”, “O que?”. Na tabela fato vamos
encontrar a resposta para “Quanto?”.
Esse modelo é excelente na performance de relatórios ou qualquer retorno de informação, bastando para isso
leitura direta na tabela fato, seguindo os parâmetros de qualquer uma das dimensões (Inclusive combinações entre
elas).
A SAP criou um modelo chamado Extended Star-schema, onde os dados mestres não ficam junto ao Cubo.
Por exemplo você pode colocar o “Código do Material’ em vários cubos diferentes, a fonte para o texto do material e
seus atributos será sempre a mesma (Infoobjeto 0MATERIAL).

6
Treinamento SAP-BW

Granularidade

O termo Granularidade descreve o nível de detalhe do seu datawarehouse. Quanto menor a granularidade maior o
nível de detalhe, maior o número de registros. Reduzir a granularidade pode significar perder informação. Veja no
exemplo das tabelas abaixo:

Dados de Faturamento no R/3:

Data de Criação Documento Cliente Material Valor


10/09/2007 900000001 1234 M.123.123 10,00
11/09/2007 900000002 1234 M.456.456 10,00
12/09/2007 900000003 1234 M.789.789 10,00
13/09/2007 900000004 5678 M.123.123 10,00

Se enviarmos para o BW toda essa informação, o nível de detalhe é idêntico ao do ambiente transacional,
granularidade é alta e a quantidade de registros será igual a 4, ou seja, uma query no BW vai ler a mesma quantidade
de registros que uma transação no R/3.

Ao passo que pode ser definido que o público alvo do relatório de vendas será a diretoria, e é necessário
apenas a informação mensal com o valor total. Dessa forma teremos o seguinte no BW:

Mês e Ano Valor


09/2007 40,00

No nível de gerente de conta, será necessário também o código do cliente. Nesse caso, teremos a seguinte
situação:

Mês e Ano Cliente Valor


09/2007 1234 30,00
09/2007 5678 10,00

Para definir a granularidade tenha em mente:

 Tamanho da base (Nível de detalhe)


 Público alvo
 Desenho do relatório (Navegação nesse relatório: Drill down)
 Performance

7
Treinamento SAP-BW

Nomenclatura BW

Até o momento discutimos conceitos que são pertinentes a todos os Datawarehouse. Antes de começarmos a
desenvolver e navegar nos relatórios, precisamos entender alguns conceitos básicos e exclusivos do BW:

Infoprovider: Todo objeto que for possível a criação de relatórios, é chamado de Infoprovider. Normalmente um Cubo.

Infoobjetos: Pense em um Infoobjeto como sendo um “campo” (Como campos de tabelas do R/3, por exemplo). É a
base de todo objeto dentro do BW. Se divide em dois grandes grupos:
• Características: Representam por exemplo o código do Material, Número do Cliente, Centro, Empresa, Centro
de custo, Conta Contábil, Dia do calendário, Moeda (BRL, USD, EUR, etc), uma Unidade de medida (Kg, m,
cm, Peça, etc) . Por isso, temos uma sub-divisão dentro de infoobjetos tipo características:
o Características Gerais
o Características de Tempo
o Características de Unidade ou Moeda

• Keyfigures (Índices): Representam valores e quantidades. As keyfigures é o que utilizamos para compor a
tabela fato de um modelo Star-schema.

Atributos: Apenas infoobjetos tipo características (Gerais) possuem atributos. Um atributo nós dá mais informações
sobre o Infoobjeto. Por exemplo, os atributos de um Cliente: Endereço, Cidade, País, Número do Fax. Não é obrigado
um infoobjeto ter atributo.
 Display: Um atributo ainda pode ser de display. Pode ser utilizado apenas como informação adicional
 Navegação: Um atributo pode ser tipo Navegacional, ou seja, você consegue ver um valor de uma query por
esse atributo, sem que a característica principal esteja no relatório. Por exemplo: Qual o valor das vendas por
grupo de material ? Se o atributo grupo de material for de navegação, é possível ver esse valor sem que o
Material esteja no relatório. Um atributo de navegação funciona como um infoobjeto tipo característica normal.

Dados Mestre: Dados que não se alteram com grande velocidade ao longo do tempo. Apenas Infoobjetos tipo
características gerais podem possuir dados mestre. Exemplo de dados mestre: Texto (Descrições), Atributos e
Hierarquias.

Dados Transacionais: Dados gerados constantemente no sistema fonte (R/3). Uma venda, uma fatura, um movimento
de mercadoria, etc.

8
Treinamento SAP-BW

Catálogo Coleção de infoobjetos com conteúdo relacionado entre si (Como sub-pastas para melhor organização).

Infoarea Coleção de catálogos relacionados entre si. Pense em Infoarea como pastas.

Dados Mestre Dados mestres são aqueles que permanecem inalterados durante um determinado período de tempo. O dado mestre de um
material vai conter, por exemplo, o seu código e sua descrição. Isso raramente mudará.

Dados Transacionais Informações que são criadas ou modificadas constantemente, por exemplo: Uma compra, uma movimentação, um
faturamento, etc.

Dimensão Grupo de características sumarizadas, armazenadas em uma tabela de um modelo Star Schema. A dimensão é muito
importante, vejamos o exemplo:

“Eu quero o total das vendas por tipo de material”

Se você não tem em seu modelo (Star Schema), uma dimensão qualquer, que tenha a informação Tipo de Material, você
não conseguirá navegar por essa característica.

Tabela Fato Tabela central em um modelo Star Schema. Ela é quem vai conter todos os índices (Keyfigures) do modelo. Além de conter
as chaves para cada dimensão.

Star Schema Tipo de modelo multi-dimensional é o chamado modelo Estrela, onde existe uma tabela dominante no centro, chamada tabela
de fato, com múltiplas junções conectando-a com outras tabelas, sendo estas chamadas de tabelas de dimensão. Cada uma
das tabelas secundárias possui apenas uma junção com a tabela central. O modelo Estrela tem a vantagem de ser simples e
intuitivo, mas também faz uso de novos enfoques de indexação e união de tabelas.

Infoprovider Todo objeto sob o qual podemos desenvolver relatórios (Cubos, Infoobjetos com dados mestre, DSO, Infoset, entre outros)

Multiprovider É uma view que permite a união de Infoproviders.

Agregados Agregados armazenam um conjunto de dados de um InfoCubo de uma forma sumarizada e redundante. É a mesma
informação do InfoCubo original, mas de uma forma que prima pela velocidade na recuperação da informação. Agregados
ocupam espaço em disco, mas são um bom recurso para melhora de performance (Hoje em dia já existe o BWA: BW
accelerator, outro recurso para melhora de performance em que não há necessidade de utilização de agregados)

Sistema fonte Tudo que vai fornecer dados para o BW. Pode ser um arquivo texto, pode ser um Client do ECC, outro sistema ERP, etc.

Drill down Partindo de um item do relatório anual, você consegue ver os meses daquele ano. Descendo mais um nível, você chega até o
detalhe por dia de cada mês ou no documento. Isso é drill down. (Navegando no relatório)

9
Treinamento SAP-BW

DSO DataStore Object. Sua estrutura é como uma tabela. Uma utilização é o armazenamento de dados em um nível bem
detalhado, por exemplo, número do documento e item. Outra utilização interessante é a possibilidade de partir de um relatório
de um Cubo (Mais sumarizado) para um relatório muito detalhado feito em uma DSO (Salto de queries ou Drill Through).

Dependente de tempo Um objeto é dependente do tempo quando seu valor está atrelado a uma data (período “de – até”). Seu valor está em
constante mudança. Por exemplo, o cargo de um empregado, o nome de um setor. Assim os relatórios estarão sempre de
acordo. Para identificar qual valor correto, a query se vale de uma data (Key date). Veremos isso no desenvolvimento de
queries.

Dependente do idioma Um objeto é dependente do idioma, se ele for ser utilizado (Traduzido) para diversos idiomas.

Datasource Contém a descrição e as propriedades dos campos em uma estrutura de extração. É um data source (o programa por trás do
data source) que recupera os dados de um Sistema fonte para a carga no BW. Um datasource pode também ser um arquivo
texto.

Infopackage Descreve quais dados em uma Data Source devem ser requisitados de um sistema fonte. Os dados poderão ser
selecionados a partir de parâmetros de seleção, por exemplo, um período.

P.S.A. Persistent Staging Area. PSA é uma área intermediária onde são armazenados os dados vindos do sistema. Depois de
carregado, passa-se então a atualizar o objeto correspondente. O PSA é criado de maneira automática pelo BW. Um PSA por
datasource.

Delta Controle feito para que apenas informações novas ou modificadas sejam carregadas para o BW. Isso é feito automaticamente
(Atualização Delta).

Hierarquia É uma estrutura organizada em sucessivos níveis. Existem hierarquias Standards e podemos criar novas também.

10
Treinamento SAP-BW

Business Content

O BW possui um repositório com um grande número de “itens prontos”. Isso significa que se precisamos de um
infoobjeto (“Campo”) para armazenar os dados do MATERIAL, basta ir na guia Business Content, procurar pelo objeto
MATERIAL e ativar. No momento que você ativa esse objeto, o BW já seleciona também tudo que é necessário para
fazer o objeto principal funcionar. Veja os passos para ativação:

Temos praticamente todo tipo de objeto pronto.

11
Treinamento SAP-BW

Localizamos o item e marcamos como vamos ativá-lo (O agrupamento irá definir o que ativar).

Apenas objetos necessários: Somente os objetos dependentes necessário para a ativação e funcionamento

Fluxo de dados antes: Objetos necessários para ativação e funcionamento e também tudo que vem antes, por
exemplo, um processo de carga (ETL)

Fluxo de dados depois: Objetos necessários para ativação e funcionamento e também tudo que vem depois, por
exemplo, uma Query pronta no Business Content para esse objeto.

Fluxo dados antes e depois: Todos os objetos envolvidos.

12
Treinamento SAP-BW

Movimentamos (Drag&Drop) o objeto para a janela da direita e utilizamos o botão Aceitar:

Repare que serão ativados todos os objetos necessários (O que dependendo do objeto, já é bastante):

Observação: Se o item não existir, é necessário criá-lo. Não é possível criar objetos que comecem com números, isso
é reservado para objetos Standard SAP. Também não é possível criar Infoobjetos do tipo característica de tempo. Por
esse motivo, vamos ver como se cria cada objeto.

Ao iniciarmos um projeto de BW, se ganha muito tempo trabalhando/pesquisando o Business Content. Você vai
economizar tempo de desenvolvimento.

13
Treinamento SAP-BW

Do outro lado, pensando no sistema fonte ECC, também temos Business Content dos Extratores (Datasources). Um
datasource é quem provê a informação ao BW (A transação de acesso no ECC é a SBIW, ou mais diretamente RSA5).
Selecionamos o datasource e ativamos.

Um datasource ativo, não é reconhecido pelo BW até que você faça a replicação dos dados. Para tanto, utilize a
transação do BW, RSA1. Vamos na guia de Datasources. Escolha o sistema de onde você vai replicar e com o botão
direito escolha Replicar Datasource.

Replicar é a ação que irá criar o Datasource no BW automaticamente.

No caso de datasources, também é possível que tenha de ser criado, para ler uma tabela particular da empresa. Isso
também pode ser feito, acessando na transação SBIW, criação de Datasources Genéricos (Você pode acessar dado
através de função ABAP, Tabela ou View). Veremos isso mais adiante no processo de ETL.

14
Treinamento SAP-BW

Repositório de Metadados
Acessamos o Repositório de metadados do BW através da transação RSA1, em seguida vamos à guia “Repositório de
metadados”, em destaque na imagem abaixo.

Sua utilização é bastante simples. Você pode exibir objetos ativos e também objetos prontos da SAP (Business
Content). Todos os objetos estão disponíveis para pesquisa na parte esquerda, basta escolher o tipo ou mesmo utilizar
o localizar. Você pode, por exemplo, ver a informação na forma de um gráfico (Um modelo Estrela de um cubo, por
exemplo).

Você pode exportar uma documentação em verão HTML dos objetos ativos também. Mas você não consegue
selecionar apenas um grupo ou uma área, vai gerar para tudo:

15
Treinamento SAP-BW

Isso vai gerar muitas páginas HTML com links entre si, é como uma versão off-line do que você tem em seu ambiente:

16
Treinamento SAP-BW

Criação de Infoarea
Para organização, é bom criamos Infoareas para armazenar nossos Infoproviders e Catálogos. Na transação RSA1, na
guia Infoprovider. Botão direito sobre uma Infoarea existente e escolha Criar. Você deve informar o nome técnico e
uma descrição:

17
Treinamento SAP-BW

Criação de Catálogos

Também para organização, um catálogo irá agrupar Infoobjetos. Existem dois tipos de catálogo:

- Características
- Keyfigures

Na RSA1, na guia de Infoobjetos, clicar com botão direito em uma Infoarea e escolher criar Catálogo.

Para catálogo de Características ou Keyfigures, marque a opção correspondente:

18
Treinamento SAP-BW

Localizar objetos
Se você não direcionar seus Infoproviders para alguma Infoarea, tudo vai ficar em “Nós não atribuídos”. Da mesma
forma, um infoobjeto vai para o catálogo de objetos “Não atribuídos”.

Para localizar algum objeto, utilize a opção de procura (Na barra de ferramentas onde colocamos o código da
Transação), ajuda muito na localização:

19
Treinamento SAP-BW

Requisição para transporte

No ambiente de treinamento não teremos que criar uma requisição de transporte, mas isso é comum em uma ambiente
corporativo.

Uma requisição nada mais é do que um lugar onde agrupamos a manutenção feita no sistema (criação, eliminação,
modificações, ativações, etc.)

As informações serão passadas para você no desenvolvimento. Depois de pronto, o pessoal responsável irá liberar e
transportar para o ambiente Produtivo.

20
Treinamento SAP-BW

Criação de Infoobjetos

21
Treinamento SAP-BW

Criação de Infoobjetos - Características


Para criar um Infoobjeto Característica utilize o botão direito do mouse em um catálogo de Características, e escolha
Criar Infoobjeto:

Depois escolha um nome técnico e uma descrição:

Caract. Referência: Se utilizar uma outra característica como referência, o seu novo objeto irá herdar tudo do
Infoobjeto referido, inclusive dados mestres (Textos, Atributos e Hierarquias). Basicamente, você irá criar um mesmo
objeto, mas com uma função/descrição diferente. Inclusive as tabelas criadas são as mesmas. Exemplo de objeto
standard: 0SOLD_TO, tem como referência 0CUSTOMER. Só existe referência em Infoobjetos. O que você faz no
objeto 0CUSTOMER, irá afetar o objeto 0SOLD_TO. Veja na figura como identificar um objeto criado com referência:

Modelo: Nesse caso, você apenas herda as configurações do objeto modelo (Infoobjetos utilizados em Atributos, por
exemplo). Aqui, as tabelas criadas para o Infoobjeto são novas e você irá precisar fazer a carga de dados, se for o
caso. Você encontra a opção Modelo na maioria dos objetos e isso acelera o desenvolvimento. O que você fizer no
objeto modelo, não afeta o que estamos criando.

22
Treinamento SAP-BW

Na guia geral, vamos definir o tipo e o tamanho, essas são as informações mais importantes. Outro ponto de atenção é
com relação ao flag “só atributo”. Se marcar isso, você não pode utilizar esse infoobjeto como Navegação (Veremos o
que é isso na guia de atributos)

23
Treinamento SAP-BW

Na guia Business Explorer (Barra de ferramentas da SAP para criação de relatórios no Excel) você vai definir como vai
ser a apresentação dos dados desse Infoobjeto.
No exemplo abaixo, a representação será com o texto. Se fosse um Infoobjeto que representasse o Estado. Nos
relatórios, ao invés de SP (Chave) iria sair “São Paulo” (Texto).

Você pode alterar as opções dessa guia a qualquer momento e até mesmo executando a query.

Alterações à vontade não poderão ser feitas em todos os itens (Guias) de um Infoobjeto, e isso é bem simples de se
entender. Alterando no Business Explorer, não se modifica os dados e sim sua exibição, apenas. Na guia Informações
Gerais se você tentar alterar o tipo ou tamanho de um Infoobjeto e esse Infoobjeto já estiver sendo utilizado, não será
possível. Então devemos ter um grande cuidado.
Um Infoobjeto vai armazenar informações carregadas do sistema fonte, de maneira análoga a uma tabela do ECC,
alterar algumas informações de um Infoobjeto é o mesmo que alterar um campo.

24
Treinamento SAP-BW

Na guia Dados mestre/texto você vai definir se o seu Infoobjeto possui alguma informação que não se altera muito, ou
praticamente nunca. No exemplo abaixo os dados mestres de um material é o seu código e os textos serão as
descrições de cada um desses códigos.
Veja que podemos definir qual o tamanho do campo texto que queremos (Breve [20 posições], Médio [40 posições] ou
Descritivo [60 posições]),
Se esse texto é dependente do Idioma (PT, EN, DE, etc) e ainda se é dependente do tempo. Para esse último cabe
uma explicação melhor.
Um dado mestre ser dependente do tempo significa que o BW vai manter uma data de validade para o valor desse
dado mestre/texto (Date from/Date to) na tabela de dados mestre/texto. Por exemplo, o material 100.000.000 teve seu
texto alterado para “Material Novo” em 01/01/2005. Para relatórios executados até 31/12/2004, o texto para o material
será “Material Antigo”. É obrigatório na query utilizarmos uma data para determinar o ponto de corte (Key Date, que
veremos quando trabalharmos com query)

25
Treinamento SAP-BW

Na criação do Infoobjeto na guia Hierarquia você apenas marca um flag, informando que esse Infoobjeto vai conter
uma hierarquia. Dessa forma o BW já prepara as tabelas para permitir isso.
Para definir manualmente, clique com botão direito no Infoobjeto e escolha a opção de acesso as hierarquias. Apenas
para os InfoObjetos que tem o flag marcado será possível a manutenção das hierarquias. É bem simples a
manutenção, basta criar os níveis desejados e ir separando os valores chaves dentro desses níveis ou sub-níveis.
Por exemplo, um Infoobjeto que armazena os Estados do Brasil, podemos definir o seu flag de hierarquia como ativo e
criar níveis como: “Área Filial 1”, “Área Filial 2”, “Área Filial 3”. Depois disso basta adicionar o código chave de cada
Estado (MG, SP, RJ, SC, etc), para cada um dos níveis criados. O volume de dados é bem pequeno, manualmente
isso pode ser feito sem nenhum problema. Lembrando que os dados mestres já deverão estar no Infoobjeto, caso
contrário, não encontraremos os valores (MG, SP, RJ, SC, etc) para a criação da hierarquia.
Na carga de dados de um InfoObjeto que possui hierarquia standard, tudo é feito automaticamente. Mas se você
definiu um Infoobjeto que não possui uma hierarquia standard, a carga via arquivo se torna um pouco mais complicada,
pois você terá que montar o arquivo texto entendendo perfeitamente a tabela utilizada pelo BW para armazenar sua
hierarquia.
O botão em destaque na figura é o que dá acesso a criação de hierarquias, como sempre, teremos que informar um
nome técnico e uma descrição. Depois, partimos para elaboração dos níveis.

26
Treinamento SAP-BW

Veja na imagem abaixo, um exemplo de utilização de hierarquias. Isso pode ou não ser ativado na execução de um
report:

27
Treinamento SAP-BW

Para definir atributos de um Infoobjeto, utilizamos outros Infoobjetos. Os atributos são as informações adicionais que
identificam e tem relação com o valor de um Infoobjeto.
Veja na imagem alguns exemplos de atributos do Cliente (Lembrando que estamos utilizando um exemplo com dados
de uma locadora de vídeos:

Temos a possibilidade também de definir um atributo como sendo de navegação (O Default é tipo Display).
Navegacional, é um tipo especial que permite ao usuário navegar na query utilizando os valores desse atributo. Vamos
pegar como exemplo um Infoprovider que possui o Infoobjeto CA_CLIEXX (Veja acima que possui vários atributos). Se
o Infoobjeto CA_FILIXX (Filial) não fizer parte de um Infoprovider, mas está como atributo de navegação para o
Infoobjeto CA_FILIXX, você poderá gerar uma query quebrando por Filial, claro que isso vai ter um custo de
performance, uma leitura a mais feita para devolver a query.

Atenção, um Infoobjeto de navegação, deve ser ativado no Infoprovider para podermos ter acesso. Veremos isso na
criação de um Infocubo, é apenas um flag, mas sem estar ligado, o atributo não estará disponível no momento da
query.

28
Treinamento SAP-BW

Você pode definir que sempre que um determinado Infoobjeto for utilizado, deverá ser levado em consideração,
algum(ns) outro(s) Infoobjeto(s). Essa ligação é Dependência.
Por exemplo, sempre utilizarmos o Infoobjeto 0REGION, o Infoobjeto 0COUNTRY também será anexado (Isso em
qualquer parte: Query, Transformações, etc). Outro objeto standard com dependência é o 0CUST_SALES.

29
Treinamento SAP-BW

Tabelas geradas para um Infoobjeto


Apenas para conhecimento, aqui temos a relação de todas as tabelas possíveis de existir para um Infoobjeto. Tudo vai
depender das opções marcadas durante sua criação (A estrutura das tabelas também pode variar com base em suas
escolhas):

M View das tabelas de dados mestre

Q Dados mestres dependente de tempo

H Tabela de hierarquias

K Tabela SID para hierarquias

I Tabela SID para a estrutura da hierarquia

J Tabela de hierarquias dependente de tempo

S Tabela SID

Y Tabela SID para objeto dependente de tempo

T Tabela texto

SID = É uma chave automática criada pelo BW (Surrogate ID) para utilização interna na criação dos relacionamentos.

30
Treinamento SAP-BW

Inserir uma característica como Infoprovider


A partir da versão 7.x, para utilização do novo procedimento de carga de dados (ETL), é necessário inserir a
característica como Infoprovider. Você poderá criar queries utilizando esses Infoobjetos. Mas atenção, o Infoobjeto
deve conter dados mestre.

Para inserir, na guia de Infoproviders (RSA1) clique com o botão direito e escolha a opção correspondente:

Defina qual o Infoobjeto e pronto:

31
Treinamento SAP-BW

Criação de Infoobjetos - Keyfigures


Na transação RSA1, clique com botão direito sobre um catálogo de Keyfigures e escolha Criar Infoobjeto:

Nome técnico e uma descrição. Referência e Modelo funcionam da mesma forma aqui, como foi visto na criação de
uma característica (Objeto anterior):

32
Treinamento SAP-BW

As Keyfigures são os valores e quantidades que vamos analisar, são as Keyfigures ou índices que vão fazer parte da
tabela Fato no Star-Schema.
Para valores tipo Montante e Quantidade, obrigatoriamente devemos informar uma unidade (Moeda ou Medida).
Podemos para isso, utilizar um Infoobjeto do tipo Unidade/Moeda ou utilizar um valor Fixo.
Se utilizarmos um objeto tipo Unidade para identificar um valor, ao utilizarmos a Keyfigure em um Cubo, o objeto que
determina sua unidade, vai para uma dimensão do Cubo (Unidade)

33
Treinamento SAP-BW

Na guia Agregação a principal opção é que você pode definir como será a forma de armazenamento, será a Soma
(Default), guardar apenas o maior valor, o menor valor, etc.

34
Treinamento SAP-BW

Em Outras Características, vamos definir como será a apresentação desse valor no BEX, ou seja, nos relatórios.
Escolha aqui a quantidade casas decimais, a representação (1 vale 1000, 1 vale 100, etc.) e como no Infoobjeto do tipo
característica, como será a representação da descrição desse valor, ou seja, o label para a coluna da query.
Isso será o comportamento default, mas pode ser alterado em tempo de execução/navegação em Queries.

Índice com precisão elevada: O número de casas decimais é 16. Comumente utilizados em cubos que recebem
informações de valores quebrados, por exemplo parte de um rateio.

Só atributo: Nesse caso, não poderá ser utilizado como índices de Cubos (tabela fato). Se caso esse flag estiver
ligado, a Keyfigure pode apenas servir de atributo para outro Infoobjeto.

35
Treinamento SAP-BW

Visão ao final da criação de todos os Infoobjetos

Seguindo a rotina de exercícios para o treinamento, ao final, teremos os seguintes objetos criados:

36
Treinamento SAP-BW

Criando hierarquias manualmente no BW


Para criamos uma hierarquia em um Infoobjeto, ele deve estar marcado “Com hierarquias”. No exemplo, vamos criar
um agrupamento de Estados Brasileiros em Regiões. Isso será feito no Infoobjeto CA_UFXX.

Para iniciar, localizamos o Infoobjeto na RSA1 e o modificamos (Você também pode utilizar a transação RSD1).
Na guia “Hierarquia”, vamos clicar no botão de “Atualizar Hierarquia” e depois no ícone de criação. O nome da
característica já vai estar preenchido.

Na tela seguinte, definimos um nome técnico e as descrições:

37
Treinamento SAP-BW

Criamos nós de texto para identificar cada Região (Nó de hierarquia é um nome técnico, você cria):

Ao final, teremos a seguinte configuração:

38
Treinamento SAP-BW

Agora, basta inserir o Estado em cada um dos Nós de Texto criados. Os valores de cada Estado serão fornecidos com
base nos dados mestre do Infoobjeto CA_UFXX. Faremos isso por pasta.

Selecione a Região “Sul” (Nó de texto) e clique no botão em destaque na imagem abaixo. Esse botão indica que você
vai inserir um nó dentro de outro nó.

Clique no botão “Estado”

E inserir todos os Valores da Região Sul:

39
Treinamento SAP-BW

Faremos isso para cada Região, e ao final Ativamos. Veja que “Intervalo” não está habilitado, isso porque nossa
hierarquia não foi marcada com permissão de utilizar intervalo de valores.

Também podemos eliminar um nó ou um valor, exibir nomes técnicos, expandir, etc.

Também é possível inserir um mesmo nó em dois lugares, isso chama-se “Link”. Você irá ver essa caixa de
mensagem. Se escolher apenas transferir nó duplo, você estará removendo do local de origem. Caso queira nos dois
lugares (Dois pontos diferentes dentro da mesma hierarquia) use a opção “Transferir o nó duplo como nó de link”.

É possível também, mais de uma hierarquia para um mesmo objeto, sem problemas.

40
Treinamento SAP-BW

É possível você acrescentar em sua hierarquia, outras características (botão “Nó caract.”). Para isso você deve incluir
essa característica como externa na guia “Hierarquias”. Mas isso praticamente não é utilizado, pois ajuda apenas
quando os nós de sua hierarquia podem sofrer variação de textos, não faz nenhum filtro de dado.

41
Treinamento SAP-BW

Criação de um Cubo Standard

Já conhecemos o modelo Star Schema e como seu desenho é feito no papel. Agora vamos ver como passar a
estrutura elaborada para o BW. No SAP-BW o objeto que segue o modelo multidimensional chama-se Infocubo
(Infoprovider ou Cubo simplesmente). Para criar, seguindo o mesmo princípio de outros objetos, clicamos com botão
direito em alguma Infoarea do “Infoprovider” e escolhemos criar Infocubo:

Existem vários tipos, vamos criar um Standard (Os demais seguem o mesmo princípio e forma de criação, mas tem
funções finais diferentes)

Standard: É o mais comum e funciona com cargas regulares de dados. Não permite entrada manual de informação.

Real time: Para aplicações de planejamento (São os antigos cubos do SEM-BPS, transacionais). Aceitam entrada
direta de dados. Utilizados no BI-IP (Integrated Planning)

Virtual: Não possui dados. A busca é feita apenas no momento da solicitação

42
Treinamento SAP-BW

Do lado esquerdo, podemos nos servir de Infoobjetos que estão em algum outro Infoprovider, algum catálogo,
pesquisar objetos, etc. Isso para facilitar a localização e assim deixar mais rápido o processo.

Do lado direito e onde criamos as dimensões e o fato.

Para criar uma dimensão utilize o botão direito e escolha Criar nova dimensão:

43
Treinamento SAP-BW

Você também pode alterar as propriedades de uma dimensão, para isso, escolha “Características” após clicar com
botão direito sobre uma dimensão já existente:

Nesse caso estamos alterando a descrição:

Dimensão part. Indiv. (Line Item Dimension): Dimensão com apenas um Infoobjeto e com grande quantidade de
linhas. Marcamos essa dimensão como sendo “Line Item”. Dessa forma, o BW vai utilizar como link entre essa
dimensão e a tabela fato, diretamente o SID da característica, e não mais o DIM-ID. Exemplo: Dimensão com número
de documento de vendas (Veja Relação entre tabela Fato e Dimensões)

Cadinalidade Elevada: Dimensão com mais de uma característica (Infoobjeto) e com grande quantidade de linhas
(Quase mesmo que a tabela fato). O BW vai utilizar outro tipo de indexação para essa dimensão, caso o banco de
dados aceite. Exemplo, uma dimensão contendo Cliente e Produto.

44
Treinamento SAP-BW

A inclusão de objetos pode ser feita através de Drag and Drop (Arrastar e soltar):

... ou ainda inserindo manualmente: “Entrada direta Infoobjetos”. É bastante prático quando se tem certeza do nome
do Infoobjeto:

Relacione os objetos que deseja incluir na dimensão e tecle Enter:

45
Treinamento SAP-BW

Tendo como base o Cubo que estamos utilizando em nossos exercícios, a imagem abaixo demonstra como deve ser
sua estrutura:

Lembrando: Na imagem acima em destaque, estão marcados os atributos de navegação dos Infoobjetos CA_CLIEXX e
CA_FILMXX. Se não ligarmos, não estará disponível na query.

46
Treinamento SAP-BW

Tabelas geradas para um Cubo


Como todo objeto criado, um cubo também tem suas tabelas para trabalhar. Podemos verificar quais são, por exemplo,
através da transação SE11, SE16 ou SE80 (Dicionário de dados). Na imagem abaixo estamos utilizando a SE11.

Colocamos o nome técnico do cubo entre *, e apertamos F4 ou o botão em destaque na imagem acima. Assim temos
acesso a todas as tabelas. Que são:

• Uma para cada dimensão

• Uma para package (Que controla a carga de dados, gerando um ID para cada uma)

• Uma para Unidade (que só faz sentido quando temos objetos que necessitam de identificar sua Unidade)

• Uma para tempo

• Uma tabela F, Fato sem compressão

• Uma tabela E, que é a tabela fato após a compressão, veremos essa parte em Administração, mas basicamente, na
compressão, o número do ID do package é ignorado e também podemos eliminar registros com todos os valores zerados.
Isso vai da tabela F para E

Podemos utilizar no máximo 13 dimensões, porque 3 são de uso exclusivo do BW (Tempo, Unidade e Pacote).

47
Treinamento SAP-BW

Nessas transações, você pode ver o conteúdo dessas tabelas:

E a quantidade de registros também:

48
Treinamento SAP-BW

Relação entre tabela Fato e Dimensões:

Para entender um pouco melhor, veja na imagem abaixo, como o BW faz o relacionamento entre as Dimensões e a
tabela Fato central:

Tem uma chave chamada DIM-ID para cada combinação em uma determinada dimensão. Mas podemos ter também
diretamente o SID, exemplo da dimensão “Documentos” onde tem apenas o Infoobjeto “Fatura”.

Teremos um DIM-ID para cada combinação de “Cliente, Banco e Forma de Pagamento”. Com isso o BW filtra os dados
transacionais.

Produtos
Clientes Material
Cliente Grupo
Forma Pagto Planta
Banco
DIM-ID Clientes
DIM-ID Produtos
SID Documentos
Quantidade
Documentos
Valor
Fatura
(Line Item)

No caso de atributos de navegação, o BW vai precisar fazer uma leitura a mais, porque através do DIM-ID chega até a
dimensão, depois precisa selecionar a informação de um atributo a partir do SID da característica que está na
dimensão. Por exemplo, se o “Grupo” fosse um atributo de navegação de 0MATERIAL:

Infoobjeto Material Infoobjeto Grupo


SID Material SID Grupo

49
Treinamento SAP-BW

Criação de uma DSO Standard

Para criarmos uma DSO, utilize o botão direito sobre alguma Infoarea (Dentro do menu Infoprovider) e escolha criar
“objeto DataStore”. Parece ser uma simples tabela, mas sua utilidade vai além da simples função de armazenar dados.

Nome Técnico e uma descrição:

50
Treinamento SAP-BW

Na tela de criação é bastante simples. Na parte da esquerda você seleciona o catálogo, cubo, outra DSO, ou seja, de
onde vamos buscar os Infoobjetos.

Você tem duas opções para mover os Infoobjetos, ou para a pasta de Campos-chave ou para a pasta Campos de
dados.

Atenção: A pasta Índices, não são onde devem ser colocadas as Keyfigures. Nessa pasta podemos criar índice de
bando de dados para melhorar a performance em caso de leitura para criação de Queries. Normalmente criamos
índices secundários, onde os campos não são chave (Porque para os campos chave, já vai existir índice)

51
Treinamento SAP-BW

Você pode fazer o Drag&Drop da esquerda para direita ou também escolher “Entrada direta de Infoobjetos” (Como na
criação de um Cubo). Prático, se você conhece o nome técnico dos objetos que quer inserir:

Digite ou Infoobjetos e escolha Enter para transferir (Em destaque na imagem abaixo):

52
Treinamento SAP-BW

Com base no modelo de nossa DSO para BW Vídeo, teremos o seguinte objeto criado ao final do exercício:

Para evitar mensagens de aviso no momento da criação de uma transformação para a DSO, você deve acrescentar o
infoobjeto Standard 0RECORDMODE em sua DSO.

Esse objeto é padrão e também fornecido pelo Business Content em DSO. A conexão com esse infoobjeto é feita pelo
campo ROCANCEL, que vem dos datasources (Extratores) no ECC (Transação SBIW). É algo transparente para o
desenvolvedor ou usuário.

Algumas combinações de valores ajudam o BW a tratar devidamente os registros que serão gravados nas tabelas de
dados ativos e log de modificação.

Veja em documentos adicionais “Record Mode Concept in Delta Management.pdf”.

53
Treinamento SAP-BW

DSO Standard – Funcionamento das tabelas:

Para entender melhor como é a carga de uma DSO standard, veja o esquema abaixo. Sempre estarão envolvidas 3
tabelas. Duas são idênticas a que você criou, e a outra (Log de modificação) tem os mesmos campos e alguns campos
de controle a mais. Esse primeiro esquema demonstra uma carga inicial:

A figura abaixo representa uma segunda carga, onde foi feito uma alteração no registro. Isso deve refletir no BW.
Sempre ao final de uma carga de dados com sucesso, a DSO de dados novos é limpa e fica sem nenhum registro. Na
DSO de dados ativos ficamos com o registro mais atual. A tabela de log é muito importante, pois mantém todo histórico
e além disso, é a partir dessa tabela que o BW alimenta os demais objetos que têm como origem de dados uma DSO.
Por isso a tabela de log inverte o sinal do registro antigo, justamente para zerar o valor que estava carregado e
atualizar com o valor atual:

54
Treinamento SAP-BW

Parâmetros de configuração de uma DSO:

Geração de IDS dados mestre na ativação: Já vem como padrão. O BW irá gerar um SID para os dados mestres
caso não exista. Isso é utilizado apenas se você for criar queries nessa DSO, se for apenas para staging área (ou uma
camada em sua arquitetura), você pode desmarcar isso.

Registro de dados unívocos: Marque apenas se essa DSO for receber sempre registros novos e nunca repetidos. Se
marcado, na chegada de um registro duplicado você irá receber um erro

Definir automaticamente o status de qualidade: Após a carga, define o status como OK em caso de nenhum erro.
Deve ser marcado, pois sem o status de completo sem falhas, não se consegue ativar os dados, ou seja, passar da
tabela de dados novos para ativos.

Ativar dados automaticamente: Passar os dados da tabela de registros novos para a de dados ativos
automaticamente. ATENÇÃO: Isso não adianta se você utilizar o fluxo de dados da versão 7.X, mesmo com o flag
ligado, ainda temos que ativar utilizando um processo do Process Chain ou mesmo clicando com botão direito na DSO
e escolhendo ativar dados.

Atualizar dados automaticamente: Se você marcar esse flag e existir algum outro Infoprovider (DSO ou Infocubo)
que carrega dados a partir de sua DSO, o processo fica automático. Ativou na DSO, passa para a carga dos
infoproviders acima do fluxo de dados.

55
Treinamento SAP-BW

Tipos de DSO e suas funções:


Existem outros dois tipos de DSO. No momento da criação definimos o tipo clicando em Configurações:

Veja as características dos outros dois tipos:

Write Optimized

• Foi desenvolvida para o nível de arquitetura de sistema e tem a vantagem de cargas mais rápidas. Não tem o
processo de ativação de dados novos para ativos.

Direct Update

• Antiga ODS transacional. Este tipo de DSO é carregada por serviço API (Application Program Interface) e pode
ser lida via BAPI. A utilização é feita para que seja possível vários usuários entrarem dados diretamente. Logo
após o dado já está disponível. De longe, a menos utilizada das DSOs.

56
Treinamento SAP-BW

Criação de um Multiprovider
Um Multiprovider não possui dados. É como uma View de tabelas, mas nesse caso, permite fazer operações de
UNION entre Infoproviders. Veja na imagem abaixo, dois Infoproviders:
Repare que temos características em comum (Isso não significa necessariamente, os mesmos Infoobjetos). Veja que
no Cubo BW Vídeo o objeto para Filme é CA_FILMXX, já do Cubo com dados de um concorrente, chama-se
CA_CCFIL. Isso não é problema, mas você tem que criar CA_CCFIL com referência a CA_FILMXX. O nome das
dimensões também não faz diferença:

Para criação, na RSA1 na guia de Infoproviders. Clique com botão direito em uma Infoarea e escolha “Criar
Multiprovider”

57
Treinamento SAP-BW

Escolha o nome técnico e uma descrição:

Na próxima tela, vamos escolher os objetos que farão parte do Multiprovider (No exemplo, vamos selecionar dois
Cubos básicos):

Veja que é possível selecionar Níveis de agregação utilizados na parte de Planejamento (Na verdade nível de
agregação é um tipo de Infoprovider também, como um subset de um Cubo). Para maiores informações veja “BI-
Integrated Planning”

58
Treinamento SAP-BW

Depois de selecionar os objetos, escolha o botão Enter para iniciarmos a estruturação do Multiprovider:

Criamos as dimensões normalmente e também inserimos os objetos, como um Infocubo regular, nada muda (Você
pode escolher objetos de qualquer infoprovider que você selecionou, eles aparecem do lado esquerdo):

59
Treinamento SAP-BW

Como na criação de um Cubo regular, podemos criar nossas dimensões (Máximo também de 13):

Movimentar os objetos nas dimensões ou na fato (Índices):

60
Treinamento SAP-BW

Finalizada a criação da estrutura de nosso Multiprovider, com base nos dois Cubos, teremos a seguinte definição. Veja
que não vamos utilizar todas as dimensões, por exemplo, Clientes.

O que vamos conseguir comparar entre a informação de nossa Locadora com a Concorrente é: Filmes, Período,
Produtos, Mídia e Dia da Semana.

Também vamos comparar apenas valores e não quantidades.

61
Treinamento SAP-BW

Um ponto que de grande diferença entre um Multiprovider e outro Cubo qualquer é que temos necessariamente que
identificar de onde o Multiprovider irá recuperar as informações. Para tanto, vamos clicar com botão direito em um dos
infoobjetos e escolher “Identificar (atribuir)”

Então, vamos informar, por exemplo, que 0CALMONTH, será preenchido pelo Infoobjeto 0CALMONTH existente nos
dois Infoproviders que estamos fazendo a união:

62
Treinamento SAP-BW

E assim, infoobjeto por infoobjeto. Um detalhe para Filme e Produto. Veja que o source não é o mesmo objeto. No
Cubo da concorrência, o nome é outro. Não há problema, desde que tenha o mesmo formato e indiquem a mesma
característica referente ao negócio:

Veja também que podemos ou não ativar os objetos de navegação no Multiprovider. Se ativarmos, também teremos
que informar de onde serão lidos.

63
Treinamento SAP-BW

Se você esquecer-se de identificar alguma característica ou keyfigure, o seguinte erro é apresentado:

Corrigido o problema, basta ativar e está pronto. Para um Multiprovider, também podemos exibir o Fluxo de informação
(Utilize o botão direito sobre o Multiprovider e escolha a opção “Exibir Fluxo de dados”)

64
Treinamento SAP-BW

Criação de um Infoset

Enquanto um Multiprovider é uma operação de UNIÃO. Um Infoset é uma operação de JOIN (Inner ou Outer). Para
criação, clicar com botão direito sobre um Infoarea e escolher “Criar Infoset”:

Na criação, você já indica um objeto para fazer parte do Infoset. Nesse exemplo, a idéia é identificar quais os filmes
que nunca foram locados.

Para isso precisamos dos dados Transacionais (Cubo ou DSO) e também todos os dados mestres de todos os Filmes.
Quem tem essa informação é o Infoobjeto CA_FILMXX

No exemplo, vamos trabalhar com os dados do Cubo, iniciamos a criação informando esse Infoprovider como base:

65
Treinamento SAP-BW

Agora, vamos inserir o infoobjeto que possui o cadastro de todos os filmes: CA_FILMXX. Se necessário, utilize as
ferramentas para localizar e tornar mais rápido o desenvolvimento:

Selecionado o objeto, vamos arrastar para o lado direito:

66
Treinamento SAP-BW

Vamos ter o Cubo e um Infoobjeto em nosso Infoset. A ligação será através do Código do filme (Que é o que temos em
comum).

Com o “JOIN”, temos o seguinte: Apenas o que existe nos dois objetos. E não ajuda o nosso caso.

FILMES QUE
FORAM FILMES
LOCADOS E CADASTRADOS
ESTÃO
NO CUBO/DSO

Logo, para resolver o problema do exemplo (Filmes em catálogo nunca locados), vamos utilizar ‘LEFT OUTER JOIN’:
Para conseguir selecionar todos os filmes em catálogo (que estão no infoobjeto) e completar, se existir, com dados do
Cubo. Em azul, é o conjunto que queremos:

FILMES QUE
FORAM FILMES
LOCADOS E CADASTRADOS
ESTÃO
NO CUBO/DSO

67
Treinamento SAP-BW

Veja que do cubo, precisamos apenas do código to filme e a quantidade de títulos como Keyfigure. Porque no resultado
(Query), os filmes que tiverem quantidade de títulos igual a Zero e apenas o Preço de Aquisição (Atributo de Filmes), é
porque nunca foram locados. Essa é a idéia nesse nosso exemplo.

Faça a ligação:

68
Treinamento SAP-BW

E com o botão direito sobre o Infoobjeto, você altera o tipo de Join:

Repare que a cor, irá mudar:

Basta ativar o Infoset.

69
Treinamento SAP-BW

Criação de um Remote Provider (Virtual Cube)


Da mesma forma que outro Infoprovider, utilizamos o botão direito sobre uma Infoarea e escolhemos “Criar
RemoteProvider”

Um cubo Virtual não possui dado e apenas seleciona a informação quando solicitado. Então, procure utilizar com
cuidado. Se o volume de informação é grande, número de usuários concorrentes for elevado ou ainda se o sistema
fonte não for tão rápido, sua query pode ficar comprometida. Para o nosso exemplo, vamos utilizar um arquivo CSV
com pouco mais de 6.000 linhas e com os seguintes campos:

70
Treinamento SAP-BW

Definimos o nome técnico e uma descrição.

Na primeira tela também definimos como será a seleção de dados, ou seja, como o Remote cube vai recuperar a
informação, através de qual mecanismo.
Podemos utilizar 3 tipos
• DTP (Podemos utilizar com acesso a infosource da versão 3.X do BW)
• BAPI (Business Application Programming Interface)
• Módulo de função

Para utilizar via BAPI ou Módulo de função, temos que ter bons conhecimentos de ABAP, assim, no exemplo vamos
criar com base em um DTP.
A criação do cubo é exatamente igual ao Cubo Standard: Dimensões, inserir Características, Keyfigures, etc. Com
base no dado que vamos carregar nesse exemplo, teremos a seguinte estrutura:

71
Treinamento SAP-BW

Agora vamos ver as diferenças que existem para esse tipo de Infoprovider.

Datasource: A criação é igual. Apenas temos que informar que o datasource será de acesso direto. Isso é feito no
momento da criação. A aba onde você encontra isso irá variar, dependendo do tipo de datasource (Standard, CSV,
etc.).

Lembrando que o Infopackage também é necessário. Execute o Infopackage para que o dado chegue até Datasource.
Veja que você pode schedular (Agendar a execução do Infopackage para cada 20 minutos, por exemplo)

Agora, criamos uma transformação entre o Virtual Cube e o Datasource, como normalmente é feito:

72
Treinamento SAP-BW

Em seguida, criamos a DTP, veja que o tipo é automaticamente “DTP para acesso direto”.

Ative a DTP e a conexão com o source está pronta. O Cubo não possui dados, não temos nem a opção de Administrar
que encontramos nos demais.
Para visualizar, você pode criar uma Query, ou simplesmente utilizar a transação RSRT, coloque como Query o “Nome
do Cubo/!Nome do Cubo” e execute:

73
Treinamento SAP-BW

Resultado:

Compare com a informação do Arquivo texto:

74
Treinamento SAP-BW

Infoobjeto Característica com acesso Remoto aos dados mestres

Também é possível acesso direto a dados mestres. Para tanto, temos que alterar o comportamento do acesso ao dado
mestre do Infoobjeto. Para isso, altere o Infoobjeto na aba “Dados mestre/textos”. Na parte inferior, mude Acesso
dados mestre para “Acesso direto”.

Atenção:

• O Infoobjeto, também deve estar inserido como um Infoprovider


• Você tem que criar as conexões com os dados mestres também, ou seja, o processo de carga tem que ser de
acesso direto, como no Cubo.

75
Treinamento SAP-BW

Processo de ETL - Criar/Ativar/Replicar Datasource


Até aqui, criamos os nossos objetos, mas ainda não efetuamos nenhuma carga de dados. É o que vamos ver a partir
de agora.

O primeiro passo é obter o Datasource. Temos 3 opções básicas. Vamos ver cada uma. Depois de o datasource existir,
o fluxo de dados acima é igual ao da imagem acima.

76
Treinamento SAP-BW

Criação do datasource a partir de um arquivo texto

Transação RSA1, na guia Datasources, altere para o source system PC FILE ou um que você tenha para carga de
dados via arquivos texto. Em nosso exemplo, PC_FILE

Botão direito em um componente de aplicação e escolha Criar datasource:

77
Treinamento SAP-BW

Escolha um nome técnico para seu datasource e também o seu tipo (No exemplo, vamos carregar dados transacionais)

Escreva uma descrição para esse datasource na guia informações gerais:

78
Treinamento SAP-BW

Na guia extração, vamos buscar o arquivo a ser utilizado como modelo:

É aqui também que iremos definir o separador dos campos, se existe linha de cabeçalho, se o arquivo é local (Apenas
processamento on-line) ou se o arquivo está no servidor (Nesse caso, permite processamento em background). No
exemplo da imagem abaixo, o arquivo está local.

79
Treinamento SAP-BW

Em proposta, escolha o botão para carga de dados para servir de exemplo. Revise o tamanho e a categoria que foram
identificados automaticamente para evitar problemas:

Veja que na guia ‘Campos’, temos praticamente o formato pronto. Em destaque o campo “Seleção”. Utilize esse campo
para indicar se você vai desejar fazer alguma seleção para algum ou alguns campos de seu datasource
(Exemplo,carregar apenas filial “ABC”):

80
Treinamento SAP-BW

Em previsão, praticamente para verificar os dados.

Ative e está pronto seu datasource via arquivo texto (Flat-File).

81
Treinamento SAP-BW

Criação do datasource Genérico

Algumas vezes é necessário criar um datasource customizado para atender as necessidades do negócio, por exemplo,
carregar uma tabela “Z”. Para isso, utilizamos a transação SBIW (Existe tanto no BW como no ECC). Nesse caso, vai
depender de onde está a fonte desse datasource genérico.

Transação SBIW vamos em Datasources genéricos e executar Atualizar Datasource genérico:

Escolha o tipo de seu datasource: Texto, Atributo ou Transacional. Dê um nome para seu datasource na linha
correspondente e clique em Criar:

82
Treinamento SAP-BW

Na tela seguinte temos diversas informações. Preencher e após isso clique em Salvar.

Delta genérico: Como você está criando o datasource, o controle de delta deve ser feito por você. Esse botão é para você indicar
qual campo será utilizado como delta (Deve ser algo que não se repita, por exemplo, um campo tipo Timestamp (Onde temos a data
e também horário em um só campo). Se você não tem nenhum campo, deixe sem escolher e faça um controle de delta já no BW
utilizando uma DSO.

Podemos criar um datasource com base em Função, Visão ou Query. Para utilizar uma função existe um modelo que deve ser
seguido: RSAX_BIW_GET_DATA_SAMPLE (Transação de funções é a SE37). Para maiores informações, digite “F1” onde temos o
espaço para colocar o nome da função, lá existem pequenas orientações.

83
Treinamento SAP-BW

A estrutura do datasource é criada (com base nos campos de uma tabela, dados da estrutura utilizada em uma função
ou query). Você ainda pode escolher alguns campos para pode fazer a seleção no momento da carga (No
Infopackage).

Para testar, você pode utilizar a transação RSA3, aqui você consegue simular uma extração.

84
Treinamento SAP-BW

O Datasource agora precisa ser replicado. Para isso, utilize a transação RSA1 e vá para Sistema fonte. Escolha a
conexão com o ambiente onde você criou o seu datasource para replicar:

O datasource está pronto para ser utilizado e está reconhecido no BW.

85
Treinamento SAP-BW

Ativar um datasource do Business Content

Esse é o mais simples, caso atenda a necessidade do negócio. Nesse caso, o datasource necessita apenas ser
ativado no sistema fonte e replicado no BW, a estrutura já existe. No sistema fonte, utilize a transação SBIW para
ativar um datasource e no BW vá até source system para replicá-los. Veja como fazer.

No sistema Fonte, utilize a transação SBIW. Com ela você tem acesso ao business Content de Datasources separado
por área

Após a ativação, o datasource está pronto para utilização, mas precisa ser replicado no BW, ou seja, o BW precisa
reconhecer esse datasource. Transação RSA1 em Modelagem vá até Sistema fonte e escolha a ligação com o sistema
fonte que possui o seu datasource. Escolha então Replicar Datasources:

O datasource está pronto para ser utilizado e está reconhecido no BW.

DICA: No tópico “Ampliação de Datasources (Quando sua tabela tem campos “Z” / “Y”)” veremos como resolver problemas em que o
Datasource do Business Content não atende totalmente o negócio. Veremos como ampliar e criar o ABAP de preenchimento dos
campos ampliados.

Com o datasource criado ou replicado, o procedimento de carga é o mesmo, com poucas diferenças
de opções em alguns dos objetos envolvidos (Infopackage, Transformação, Procedimento de
transferência de dados [DTP]).

Porque vai depender do tipo e também os recursos de seu extrator (datasource). Por exemplo, se
permite delta ou não, acesso direto ou não, se está separado por vírgulas, etc.

No exemplo, vamos utilizar um arquivo CSV, mas se aplica para qualquer outro.

86
Treinamento SAP-BW

Processo de ETL – Datasource já está pronto


Utilize a transação RSA1 e vá à guia de Datasources. Encontre o datasource (Criado ou Replicado). Clique com botão
direito e comece criando o Infopackage:

Escolha uma denominação e clique em gravar para iniciar a configuração:

87
Treinamento SAP-BW

Em sua guia “Seleção de dados” só vai existir algum campo se você configurou isso previamente no seu datasource:

A guia extração só existe para arquivos texto. Basicamente virá preenchido baseado em seu datasource.

88
Treinamento SAP-BW

Em processamento, você define como quer fazer a carga:

Nesse caso, arquivo texto, apenas carga completa:

Em caso de Carga através de um extrator que permite Delta, você pode encontrar as seguintes opções:

• Carga Completa
• Inicialização do processo delta é como um ponto de corte onde a partir daquele momento o BW+ECC irá ter o
controle de registros novos e alterados para as cargas seguintes
• Carga Delta, não está na imagem, mas estará disponível após uma inicialização do processo delta correta

89
Treinamento SAP-BW

Em “Escalonar” você pode criar um processo (Job) regular (que rode todos os dias em um determinado horário) ou
executar imediatamente de forma manual.

Os Infopackages com execução em background são os que podem ser incluídos em Process Chains.

Após execução, use o botão de monitoramento para acompanhar a carga e ver se houve sucesso ou falha:

90
Treinamento SAP-BW

Após a carga, você pode ver o conteúdo da PSA. Para isso, clique com botão direito no Datasource e escolha
Administrar.

Clique na requisição que deseja marcando a linha do lado esquerdo e clique no ícone do PSA, em destaque na figura
abaixo:

Veja que é possível eliminar requisições. O processo de eliminar registros do PSA deve ser feito regularmente e pode
ser automático através de Process Chain. Você é quem define quanto tempo uma carga deve permanecer no PSA
depois de ter sido concluída com sucesso.

91
Treinamento SAP-BW

Próximo passo é a transformação entre o seu Datasource e o Target (Infoprovider). Clique com botão direito no
Datasource e escolha criar transformação:

No exemplo, vamos enviar dados do datasource para uma DSO (Muita atenção nesse ponto).

92
Treinamento SAP-BW

Faça as conexões necessárias. Aqui você pode utilizar ligação direta com a fonte, uma fórmula, uma rotina ABAP mais
complexa, fazer um look-up em dados mestres de outro Objeto, etc.

Em documentos adicionais, na pasta ETL temos dois bons exemplos de rotinas. Será muito difícil encontrar algum tipo
de transformação que você não consiga implementar aqui.

Lembrando que Infoobjetos de tempo (0CALDAY, 0CALMONTH, 0CALYEAR, etc) são convertidos entre si
automaticamente, ou seja, você pode conectar uma data completa (DD/MM/AAAA) para um infoobjeto que tem apenas
o ano, sem problemas.

Caso você esteja criando uma transformação para uma DSO sem o Objeto 0RECORDMODE, você será alertado, isso
não é um erro.

93
Treinamento SAP-BW

Criação da DTP. Também clicando com botão direito no Datasource, escolhemos agora Criar processo transferência
de dados

Praticamente, temos tudo automático, devido à ordem que criamos:

94
Treinamento SAP-BW

Você normalmente não precisa fazer alteração alguma, com poucas exceções (Fine tuning de performance durante
cargas).

DTP de erro é utilizada para encaminhar os registros incorretos para outra PSA, não interrompendo a carga totalmente.
Assim você pode trabalhar os registros incorretos e enviar ao final através da DTP de erro para o destino final. O ideal
é corrigir o problema na raiz, mas em caso de alto volume de registros, sua utilização é muito bem vinda.

95
Treinamento SAP-BW

Basta então executar a DTP para finalizar o processo.

Veja todas as formas de execução:

96
Treinamento SAP-BW

Em depuração, temos possibilidade de efetuar pontos de parada específicos e analisar o conteúdo do dado ou alguma
rotina criada.

Após execução da chamada, você pode monitorar a DTP, ao receber a mensagem abaixo escolha Sim.

Ou, sempre se pode utilizar o botão de monitoramento:

97
Treinamento SAP-BW

Tudo dever estar ok, para sucesso, veja abaixo a imagem do monitor:

Alguns atalhos do Monitor:

PSA
Se você criou um
procedimento para
Ver o Target tratar erros

Esse botão irá


apresentar o job
executado no processo

98
Treinamento SAP-BW

Aspectos referentes ao objeto DSO: Ativação da requisição. Após a carga de uma DSO no formato 7.X, temos que
manualmente ativar a requisição, ou seja, enviar de dados Novos para dados Ativos (Lembrando que isso normalmente
é feito automaticamente em Process Chain).

Para chegar na tela abaixo, clique com botão direito na DSO e escolha Administrar:

Após ativação, veja que já temos o número da requisição:

99
Treinamento SAP-BW

Lembrando que após a ativação, você irá ter informação nas tabelas de LOG e dados ATIVOS. A tabela de dados
novos estará vazia.

100
Treinamento SAP-BW

Processo de ETL – Entre objetos do BW

Carga entre Objetos do BW, muito comum. Onde a fonte e o destino, estão no próprio BW. Veja que infoproviders
geram Datasource, iniciando com o número 8. Exemplo, seu Object DataStore tem o seguinte nome: DS_ALUXX,
automaticamente, temos o seguinte datasource para utilização: 8DS_ALUXX

Quer localizá-lo? Você pode ir até Datasources (Dentro do Administrator Workbench – RSA1), escolha corretamente o
sistema fonte, no caso, será o BW (Algumas vezes chamado de Myself Connection)

Localize o datasource:

Dica: O símbolo ao lado do ícone de datasource, indica objetos de versões anteriores a 7.X. Você pode migrar esses
datasources, basta clicar com botão direito e escolher “Migrar”

101
Treinamento SAP-BW

Escolha “S/Exportação”, caso não pense em desfazer a migração. Se houver necessidade futura de voltar para versão
anterior, então escolha “C/Exportação”.

Porque Migrar? Com essa ação você consegue efetuar o processo de carga no modelo novo, com Transformação e
DTP. O modelo antigo era feito com Regras de atualização e Infosource (Estruturas de Comunicação e Regras).

Agora, a transformação a partir da DSO para o Cubo. Não é necessário fazer a partir do datasource, você pode clicar
com botão direito na DSO e escolher criar transformação. Indique o destino, no caso um Cubo

102
Treinamento SAP-BW

Veja que entre Infoproviders do BW com os mesmos Infoobjetos, algumas regras já estarão prontas.

E finalmente o DTP. Botão direito, agora no ícone da pasta de DTP e escolha criar processo transf. Dados:

103
Treinamento SAP-BW

Um modelo bastante comum: DSO -> CUBO. Clique com botão direito sobre o cubo e veja Fluxo de Dados
graficamente:

104
Treinamento SAP-BW

Ampliação de Datasources (Quando sua tabela tem campos “Z” / “Y”)

Quando um extrator standard atende, o processo fica bem simples, ativamos via SBIW no sistema que será o fonte e
depois replicamos no BW. Agora, em alguns casos, temos que customizar o extrator, ora devido a campos adicionais
ou mesmo para aplicar alguma regra durante a carga.

Sempre o primeiro passo é ativar o datasource. Com isso feito, ainda na SBIW, vamos escolher a opção
Processamento posterior de Datasources

Localize o extrator (datasource). No exemplo, vamos executar a função “Ampliar estrutura extração” do datasource
0FI_AR_3 (ou colocar campos adicionais).

105
Treinamento SAP-BW

O BW já vai propor um nome para nossa estrutura.

A partir desse ponto, é bom ter algum conhecimento de ABAP ou solicitar a ajuda de alguém, estamos criando os
campos de nossa estrutura, exatamente os campos que não existem no extrator, logo, ao final, se o extrator standard
tinha 10 campos e a nossa estrutura append (ampliação) tem 4. O total de campos do nosso extrator modificado, tem
14 campos. Crie todos os campos necessários, sempre começar com YY ou ZZ.

No exemplo, nossa estrutura adicional tem 5 campos.

O que devemos levar em consideração é que o datasource original deve trazer pelo menos um campo com o qual
iremos utilizar para preencher os demais via SELECT em alguma tabela. A não ser que o seu campo adicional seja
apenas cálculos baseado em campos que já existam no extrator e você nem precise utilizar um SELECT na função que
iremos criar para preencher os campos adicionais.

ATIVE SUA ESTRUTURA !!

106
Treinamento SAP-BW

Todos os campos que criamos como adicionais permanecem ocultos para o BW e para qualquer exit que utilizamos.
Teremos que alterar esse argumento no DataSource. Selecione novamente o DataSource e escolha o botão Alterar:

Desmarcar o flag “Ocultar Campo” e Salvar. Todos os campos ampliados não serão preenchidos
automaticamente, uma ampliação de estrutura vai levar sempre à utilização de uma Exit ABAP para preencher
esses novos campos. Se não desmarcamos os campos criados, não teremos acesso em nossa rotina na Exit.

É muito importante a Estrutura de Extração, no caso: DTFIAR_3 para a especificação do ABAP. O programador
terá que saber em qual estrutura seu código será baseado.

107
Treinamento SAP-BW

Falta agora, preenchermos os campos criados no momento em que o programa de extração estiver preenchendo os
campos standard. Utilize a transação CMOD para ativar as Exits (Caso não esteja ativo). Novamente, solicite um ABAP
para o apoio. A especificação dos campos e de onde pegar, deve ser feita pelo funcional BW.

Nome do Enhancement: RSAP0001

Componentes:

 EXIT_SAPLRSAP_001: Exit na carga de dados de movimento, transacionais


 EXIT_SAPLRSAP_002: Exit para carga de dados mestres e textos
 EXIT_SAPLRSAP_003: Obsoleta
 EXIT_SAPLRSAP_004: Exit para carga de Hierarquias

Apenas para exemplificar o que é uma EXIT:

108
Treinamento SAP-BW

O exemplo que veremos é com a 001, para dados transacionais., crie o include ZXRSAU01 (Caso não exista)

Abaixo segue o exemplo do código. Cada função deverá pertencer a um grupo de funções e para cada DataSource
criar uma função. Veja que para identificar cada carga, utilizamos o nome do DataSource que vem no parâmetros
I_DATASOURCE.

Atenção, existem várias formas de se trabalhar com exits, você pode fazer seu programa em um Include ou até mesmo
diretamente na exit. O problema de trabalhar diretamente no Include da exit é que você bloqueia para outras pessoas
que também possam estar trabalhando em uma exit para outro extrator.

109
Treinamento SAP-BW

Dentro da função vamos preencher todos os campos adicionais e se necessário alterar qualquer campo standard,
temos acesso a todos. A tabela C_T_DADOS e onde a funções vai receber os registros que o extrator já selecionou.

Teste seu código via transação RSA3, onde você coloca o nome de seu datasource e pode
“debugar” a extração. Se estiver tudo Ok, replique o datasource e depois seguir os mesmos
procedimentos de um extrator normal.

110
Treinamento SAP-BW

Atributos com Dependência de tempo – Exemplo de Funcionamento


Vamos ver duas técnicas de como tratar a questão de mudança de valores em atributos. Um Cliente de nossa locadora
(Cliente 112) estava em MG e veio para SP. Mudando o valor do seu atributo “Estado” (Que é marcado como
dependente de tempo):

A primeira diferença está na transformação durante a carga dos dados mestres do Infoobjeto. Repare que temos mais
dois objetos por conta do controle de tempo para o atributo Estado: 0DATETO e 0DATEFROM. Normalmente, sendo
um datasource standard, esses valores já serão fornecidos. No case do exemplo, estamos utilizando arquivo CSV,
vamos assumir:

0DATETO = 31.12.9999
0DATEFROM = Hoje (Via fórmula = SYST-DATUM)

111
Treinamento SAP-BW

Para conseguir demonstrar as duas técnicas de modelagem com relação a mudança de atributos com o passar do
tempo, vamos fazer uma alteração no Cubo. Vamos acrescentar uma nova dimensão chamada Região. Incluindo o
infoobjeto CA_UFXX nessa dimensão.

Veja que vamos ter um atributo de Navegação Região e também um infoobjeto Região diretamente em uma
dimensão:

112
Treinamento SAP-BW

Agora no momento da carga, eu vou gravar nesse infoobjeto o atributo que está no Cliente:

113
Treinamento SAP-BW

Vejamos a situação do cliente “112”. Estava em MG e durante muito tempo fez locações lá. Assim todas transações
para o Cubo, ficaram da seguinte forma. Tanto o atributo de navegação quanto o infoobjeto na dimensão com o
mesmo valor:

Dados Mestres

Dados Transacionais:

Agora, ocorre a mudança para SP. O cliente “112” fica então com essa situação.

Dados Mestres (O BW atualiza o registro antigo):

Dados Transacionais:

114
Treinamento SAP-BW

Nesse momento, podemos demonstrar dados históricos de duas maneiras:

• Utilizando o atributo de navegação dependente do tempo

Na query, vamos utilizar uma variável que será utilizada para recuperar dados dependente de tempo:

No momento da Execução da query, entramos com o valor dessa data, por exemplo: 01.03.2011. O BW vai verificar
qual era o valor do atributo válido para aquele momento, ou seja, ainda era MG.

115
Treinamento SAP-BW

Já escolhendo 23.12.2011 (ou posterior), temos os valores mais atuais, que é SP:

Observação: Estamos utilizando uma varíavel em que o usuário entra com a informação. Podemos utilizar uma variável
da SAP que retorna automaticamente o dia de hoje. Mas aí o usuário perde essa flexibilidade de ver a situação em
diferentes momentos.

• Utilizando o infoobjeto CA_UFXX que colocamos na dimensão

Nesse caso, é necessário apenas utilizar esse Infoobjeto em sua Query, ao invés de utilizar um atributo de navegação.
Esse Infoobjeto como colocamos, sempre vai guardar o valor histórico do atributo.

116
Treinamento SAP-BW

Agregados
A utilização de agregados está ligado a performance das queries. Um agregado é um cubo menor (Com menos
registros) criado a partir de um cubo standard.

A granularidade de um agregado é maior que a do cubo de origem porque ele não possui todas as características do
cubo original. Você cria de acordo com a necessidade da query (Das características que estão sendo utilizadas)

Pegando como exemplo nosso Cubo com dados da BW Vídeo. Em um registro, temos as seguintes características:

• Ano civil / mês


• Ano civil
• Cliente
• Filme
• Mídia
• Dia da semana
• Produto

Imagine que uma query de um dashboard tenha apenas a informação “Ano Civil” e “Dia da Semana”. Em uma
execução normal, o BW faz a seleção dos registros e depois agrega, retornando na query apenas as duas
características solicitadas, mas ele teve que fazer a leitura da tabela fato no nível de CLIENTE, FILME, MÍDIA,
PRODUTO.

Ano Dia da
Ano Civil Cliente Filme Mídia Produto
Civil/mês Semana
2005/01 2005 C1 F1 D SEG P1
2005/02 2005 C2 # # SEG P1
2005/03 2005 C3 F2 D SEG P2
2005/04 2005 C4 F3 D SEG P3
2005/05 2005 C5 # # SEG P4
2005/06 2005 C6 # # SEG P5
2005/07 2005 C7 F4 B SEG #

Para melhorar a performance de uma query desse tipo, podemos criar um agregado, apenas com “Ano Civil” e “Dia da
Semana”. Os registros desse novo cubo, já estarão com a agregação correta. O BW identifica a existência de um
agregado que pode utilizar para a query e vai ler diretamente dele, tendo que ler bem menos registros, no exemplo, ao
invés de ler 7, irá ler apenas 1.

Ano Dia da
Civil/mês Semana
2005 SEG

117
Treinamento SAP-BW

Agregados...

 Melhor performance na execução das queries (Criado devidamente)

 Ocupa espaço, pois possui registros

 Após a carga do cubo básico, o roll up deve ser efetuado para atualizar os agregados,

portanto o tempo de carga será maior

 Quando um atributo de navegação está em um agregado e ele é atualizado, devemos

executar um procedimento chamado “Atribute Change Run”, também para atualizar os

registros que estão gravados no agregado. Isso consome muito tempo também,

dependendo do volume de dados

Criamos o agregado, clicando com botão direito sobre o Infoprovider e escolhendo a opção “Atualizar Agregados”. O
BW vai perguntar se deseja gerar automaticamente. Escolha criação própria.

118
Treinamento SAP-BW

A criação é bastante simples, bastando utilizar o Drag&Drop das características que deseja utilizar em seu cubo
reduzido (agregado):

Ao arrastar uma característica, automaticamente irá solicitar uma descrição. O nome técnico é criado pelo BW.

Depois, basta arrastar as demais características que você deseja. Sempre acima do agregado que você acabou de
criar (Em destaque na imagem abaixo). Caso contrário, o BW entende que você está criando um novo.

Não se esqueça de ativar!

119
Treinamento SAP-BW

Administração de Infoproviders

Clique com botão direito sobre o Infoprovider e escolha Administrar:

Em administração temos acesso as seguintes opções:

 Conteúdo: Listar o conteúdo do Cubo / DSO (Transação LISTCUBE)


 Performance: Verificar índices (Índice das tabelas)
 Requisições: Visualizar as cargas, eliminar requisições, monitorar
 Roll up: Atualizar os agregados. Cubos menores que podem ser criados a partir dos originais com alguns
Infoobjetos apenas. A granularidade é alta, ou seja, com número menor de registros, uma performance melhor para
query.
 Comprimir: Na compressão, são eliminados os número das requisições e valores zerados (Opcionalmente). Isso
também diminui a quantidade de registros e também é utilizado para melhora de performance
 Reestruturação: Com a opção de reestruturação é possível, por exemplo, recarregar requisições eliminadas por
engano.

120
Treinamento SAP-BW

Na guia de conteúdo você pode ver os dados do Cubo (Incluindo dimensões) ou apenas o conteúdo da tabela fato.
Com Eliminação seletiva, você consegue eliminar, por exemplo, todos os registros com Código do Filme = “1203”
(Seguindo exemplo do exercício modelo com dados de uma locadora). A eliminação por seleção é bastante útil. Você
pode selecionar qualquer característica que está no Cubo e usar como parâmetro.

Na guia Performance, você tem acesso a verificação dos índices das tabelas do cubo, bem como recriá-los se
necessário.
Estatísticas no BW são um conjunto de objetos que ativamos (Praticamente é um padrão de uma instalação) em que o
sistema coleta informações de execuções de queries, por exemplo. Informações de estatísticas são utilizadas para a
proposta de criação de Agregados.

121
Treinamento SAP-BW

Em requisições você tem acesso as cargas efetuadas para o Infoprovider, monitoramento, eliminar uma requisição
(Aqui não é seletiva em conteúdo). A numeração das requisições fica na dimensão Pacotes, por isso o BW precisa
obrigatoriamente daquela dimensão.

Em Roll-up você tem acesso a atualização dos agregados, se houver algum para o Infoprovider. Roll-up é a ação de
atualizar os dados do Cubo original em seus agregados (Como uma nova carga, partindo agora do Cubo)

122
Treinamento SAP-BW

Compressão de requisições (Dados do Cubo). Exemplo: Você tem cargas de um ano em seu cubo, provavelmente,
você tem registros zerados, registros com mesma chave em diferentes requisições. Com a compressão, o BW ignora o
ID das requisições e passa os dados da tabela F (Fato) para a tabela E (Também fato, mas com ID de requisição nulo.

Outra diferença é o tipo de índexação utilizado em cada tabela:


F – B-tree (Binary Search)
E – Bitmap (Existem bons algoritmos de compressão para Bitmap)

Atenção: Após a compressão, você não pode mais eliminar dados do cubo baseado em seu número de requisição,
você perde isso!

Reestruturação é utilizada para recuperar uma requisição eliminada. Isso somente é possível se a requisição eliminada
ainda estiver em PSA ou mesmo no Infoprovider que serve de datasource. Ela aparece na lista como não existente no
destino, e você pode selecionar e solicitar a inserção novamente.

123
Treinamento SAP-BW

Process Chain – Automatização de Cargas

O Process chain (Transação RSPC) é uma forma de encadear/automatizar as cargas de dados. Com várias opções:

 Startar eventos para acionar outras cargas


 Executar programa ABAP
 Execuções condicionais, ou seja, executar a carga seguinte, apenas se a anterior encerrou com sucesso
 Carregar dados mestres agrupados para serem atualizados: Diariamente, Mensalmente ou semanalmente
 Enviar avisos (Email) em caso de falhas
 etc

Conceito básico de Process Chain:

124
Treinamento SAP-BW

Criação de um Process Chain (Transação RSPC):

Entre na transação RSPC para acesso a construção/alteração da cadeia de atividades que necessita. Do lado
esquerdo, você irá ver a hierarquia já existente, isso é apenas para organização, como Infoarea. Aqui são chamados
de Componentes de Exibição

Se precisar criar novos, você deve estar processando uma Cadeia ou criando uma nova. Assim você tem acesso ao
botão em destaque na imagem abaixo:

Na tela seguinte, clique para ver todos os componentes e também um botão de criar. Primeiro aparece a tela porque o
BW já assume que o componente exista, e você deseja apenas atribuir seu Process Chain em uma hierarquia
existente:

125
Treinamento SAP-BW

Caso ainda não existe, clique no botão para criar (Fica na parte inferior do lado direito):

126
Treinamento SAP-BW

Ainda analisando o lado esquerdo na janela da transação RSPC, temos diversas categorias de processo. Nada mais
são que atividades que podemos automatizar.

Você tem processo criado e testado manualmente que envolve:


• Carga de dados para PSA
• Carga eliminar dados de um Infoprovider
• Executar um programa ABAP para verificar o conteúdo de uma tabela de parâmetros e baseado no valor,
executar um processo ou outro
• Executar diretamente uma DTP
• Etc. Depende muito de sua necessidade, ou melhor, do processo.

A criação é bem simples e se faz através de Drag&Drop de uma categoria para a área da direita (área da construção
propriamente dita). Depois o BW vai solicitar os parâmetros que irão variar de acordo com cada categoria (atividade).
Por exemplo: Precisamos executar um Infopackage. Arrastamos a categoria para a direita e o BW vai solicitar o nome
técnico do Infopackage.

Utilize esse botão para exibir


Utilize esse botão as categorias de processo
para exibir as
Cadeias de
Processos
existentes

Utilize esse botão para exibir


as Infoareas com
Infoproviders

127
Treinamento SAP-BW

Vamos criar um que efetue a carga de alguns dados mestres e depois a carga da DSO e finalmente a carga do Cubo.
Clicar no Botão Criar

Na janela seguinte o BW irá solicitar a criação do processo inicial. Todo Process Chain, deve ter esse um:

Agora chegamos a outro termo, chamado de Variante. É a variante que efetivamente armazena as regras de execução
do seu Process Chain. É assim que podemos escalonar sua execução, ou seja, criar um job regular (Rodando
diariamente, uma vez por mês, apenas nos finais de semana, etc.)

O BW também chama de variante as informações dos parâmetros de cada categoria que você inserir. Por exemplo,
executar um DTP: O nome técnico do DTP está salvo em uma variante.

128
Treinamento SAP-BW

Você pode apenas salvar, depois você pode voltar e Modificar Seleções para acesso as diversas opções de criação de
um Job no BW:

Inicio med. Cadeia meta ou API = Significa que esse Process Chain será acionado por outro processo, assim não
existe a criação de um job regular

Para criar um agendamento: Clique em Modificar seleções e a seguinte tela padrão é aberta. Aqui é onde vamos criar a
regra de execução do nosso Process Chain.

129
Treinamento SAP-BW

Como a idéia é criamos um Process Chain e não um agendamento, apenas utilize o botão salvar e depois voltar (Seta
verde).

E o nosso processo inicial foi criado. Partimos agora, para acrescentar as categorias abaixo de nosso processo Início,
formando a cadeia:

Como primeiro passo, vou solicitar a execução de um DTP. Drag&Drop da categoria “Processo de Transferência de
dados”. Escolha a DTP e clique em Enter. No exemplo, pretendo fazer a carga dos atributos de filme:

130
Treinamento SAP-BW

O que o procedimento pede é o nome técnico da DTP para carga de atributos de filme, se lembra? Geralmente criamos
um Process Chain em uma janela e abrimos outro SAP-GUI (/ORSA1) para pesquisar mais rápido os objetos

Nosso primeiro processo fica então assim, falta fazer a ligação entre os processos.

Para a conexão, utilize o Clique do mouse em um objeto e arraste ate o outro:

131
Treinamento SAP-BW

Seguimos assim, inserindo algumas DTPs para carga de exemplo. Ao final, ficamos com o seguinte desenho. Veja que
nesse caso estamos carregando de forma paralela 3 infoobjetos:

Pretendemos iniciar a carga da DSO apenas se as três cargas tiverem sucesso. Isso é possível com a categoria de
Condição “E” (Em Serviços Gerais)

Ao Eu ainda tenho a opção de deixar prosseguir apenas se a carga foi feita com sucesso, indiferente ou deixar passar
apenas em caso de Erro.

132
Treinamento SAP-BW

Fazendo isso para os três processos anteriores, a próxima etapa somente vai iniciar em caso de sucesso dos três.
Repare na cor das setas, verde. (Erro – Vermelho, Indiferente – Azul)

Agora inserir outro DTP para a carga da DSO, e também o processo de ativação de dados:

Veja novamente o BW irá solicitar uma variante, simplesmente para guardar o nome da DSO, que será solicitado:

133
Treinamento SAP-BW

Essa informação fica na variante: Qual a DSO a ser ativada? Aqui não podemos digitar, teremos que pesquisar e
aceitar o valor. Salvar e voltar.

Nosso Process Chain fica como na imagem abaixo. Repare que na ligação da carga da DSO e sua ativação,
automaticamente se cria uma condição no momento que você conecta os dois. Assim, você pode escolher ativar os
dados apenas em caso de sucesso da carga (O que é mais usual):

134
Treinamento SAP-BW

Falta agora carregar o Cubo. Também um processo DTP e fechamos a carga. Que já foi ativada e colocada em uma
hierarquia de Componentes de Execução (Utilizando o botão em destaque na figura abaixo):

Ajuda bem vinda: Em algumas categorias que você movimenta, o BW te ajuda a não esquecer de outras categorias
que você deveria estar utilizando. Por exemplo, o normal na carga de um Cubo é ELIMINAR ÍNDICES -> FAZER A
CARGA -> CRIAR ÍNDICES (Temos categoria para tudo isso).

Dessa forma sua carga é mais rápida. Ao arrastar uma DTP que tem como destino o Cubo, o BW já te orienta a não
esquecer das outras duas (Em nosso exemplo isso não foi colocado).

Se houvesse algum agregado em nosso cubo, deveríamos inserir a categoria de Roll-up e escolher os agregados ao
final.

Veja que esse foi um exemplo bastante simples. Tudo vai depender da necessidade e automaticamente você deverá
fazer a pesquisa e ver qual categoria de processo você deve utilizar.

135
Treinamento SAP-BW

Reporting - Query Designer


A ferramenta de construção de Query do BW chama-se Query Designer. Podemos acessar o Query designer de
algumas formas:

• Através do Menu de programas no Windows, no Grupo Business Explorer.


• Também podemos chamar o Query Designer através do Bex Analyzer. O Bex Analyzer é o Add-on do BW para o
Excel. Acesse através da transação RRMX ou através do Grupo Business Explorer também

Essa é a tela de construção do Query Designer:

136
Treinamento SAP-BW

Do lado esquerdo, você irá ter acesso as informações do Infoprovider. Para criar a query arraste os Infoobjetos para a
área de desenvolvimento que deseja:

Na aba Linhas/Colunas

• Características livres: Infoobjetos que o usuário pode utilizar para navegar na query depois que executá-la
• Colunas: São as colunas do relatório
• Linhas: Serão os objetos da linha do relatório

Na aba Filtro

• Restrições de características: Coloque aqui variáveis ou valores fixos para filtrar as informações de seu
relatório. Se filtrar para o ano de 2011, o usuário só consegue ver dados de 2011.
• Valores propostos: O filtro que você coloca aqui, depois da execução da query, o usuário pode trocar. Se
propor 2011, o usuário após a execução, pode ver de outros períodos

137
Treinamento SAP-BW

Vamos dar uma olhada na barra de ferramentas do Query Designer:

Criar uma nova query

Abrir uma query

Salvar

Salvar como

Executar na Web

Verificar erros e mensagens de atenção (warnings)

Características da query (acesso a propriedades)

Recortar

Copiar

Inserir (Colar)

Exibir a janela do infoprovider (Parte da esquerda)

Nos leva para aba de filtro

Nos leva para aba de linhas/colunas


Definição de células (Você precisa ter duas estruturas em suas query). Você tem acesso a cada “linha x
coluna”, inclusive com possibilidade de alterar valores e fazer fórmulas

Criar condições (Top N, Bottom N, restrições de valores de sua query em geral)

Criar exceções (Definir padrão de cores para um range de valores: Maior que 10, Verde. Etc)

Exibir janela de características

Exibir janela de tarefas (Suas últimas escolhas, como Salvar, Verificar). Como atalhos

Exibir janela de mensagens (Na parte inferior)

Lista de utilizações (Where used list). Você pode ver em que local sua query ou objetos dela são utilizados
Acesso a documentos. Você pode criar documentação para objetos, como uma documentação de sua query
ou um simples Infoobjeto. Esse botão permite o acesso ao que foi criado
Visualizar nomes técnicos

138
Treinamento SAP-BW

Reporting - Restrições
Nós podemos fazer restrições/filtros utilizando valores de características, por exemplo, fixar um determinado dia da
semana para uma Keyfigure. Para isso, basta clicar com o botão direito na Keyfigure e escolher “Processar”, a seguinte
tela será apresentada e você pode definir suas regra:

139
Treinamento SAP-BW

Ou ainda, na aba de filtros você pode definir algum valor para uma característica, e assim fazer com que sua query
apresente apenas valores para um determina cliente, no exemplo abaixo.

Para isso clique com botão direito sobre a característica que deseja filtrar e escolha “Restringir”:

140
Treinamento SAP-BW

Reporting - Variáveis
Restrições são mais comuns utilizando: variáveis. Vamos ver como se cria ou se utiliza uma. Sempre na aba de Filtro.
Com o botão direito, clique na característica que deseja filtrar e escolha restringir:

Caso exista alguma, selecione, caso contrário, utilize o botão Criar, em destaque na imagem abaixo. Se tiver dúvidas
sobre o funcionamento e tipo, você pode clicar no botão de alterar (Botão ao lado do botão de Criar) e assim ter acesso
a configuração da variável:

141
Treinamento SAP-BW

Essa é a tela de criação, vamos ver em detalhe os itens mais importantes:

Na guia Geral, Processamento por:

• Entrada manual/valor proposto:


o É a mais comum. Aquela que usuário entra com o valor desejado na tela

• Caminho de substituição:
o Os valores para essa variável, são preenchidos com o resultado de outra query

• Exit de cliente:
o Também muito utilizada, envolve o desenvolvimento de código ABAP, não muito complexo, em que
normalmente se colocar um valor default para a variável ou mesmo derivar o valor de uma a partir do
que foi informado em outra.
• Autorização:
o Este tipo de variável está ligada ao perfil do usuário. Vai permitir apenas valores que ele tem acesso

142
Treinamento SAP-BW

Vamos ver a aba Detalhe, também importante na criação:

• Valor Individual:
o Permitido entrar com apenas um valor

• Vários valores individuais:


o Permitido a entrada de vários valores

• Intervalo:
o Valor de...até

• Opção de Seleção:
o Qualquer combinação: Valor Individual, Vários valores, Intervalo, > X, < X, etc.

• Conjunto valores c/ cálculo preliminar:


o Você pode definir um conjunto de valores que fica armazenado em uma tabela. São definidos na
transação RSBUCKET.

O flag “Variável está pronta para entrada” indica que a variável vai aparecer na tela para que usuário faça a escolha.
Porque a variável pode ser do tipo Exit e ser preenchida automaticamente, então não há necessidade de aparecer na
tela.

143
Treinamento SAP-BW

Reporting - Variáveis – Exit de cliente (Documento SAP How to...)


Um dos tipos de varíaveis são as de Exit de Cliente. Na exit podemos derivar uma variável em função de outra,
podemos definir valores default, verificar valores digitados em variáveis, etc. O que deve existir é o programa
RSR00001 ativo (Chamado de ampliação). Requer algum conhecimento ABAP para criação de exit de variáveis:

Passo 1: Acessar o projeto onde exista a RSR00001. Projetos são acessados via transação CMOD (Customer
modifications). Normalmente as empresas já tem isso ativo. No exemplo, estamos trabalhando com o projeto
ZBW

Passo 2: Duplo clique na função EXIT_SAPLRRS0_001 (Visível em COMPONENTES)

Passo 3: Definir seu código dentro do include: ZXRSRU01

Alguns esclarecimentos sobre os STEPs:

STEP1 - Antes da tela de entrada ser apresentada

STEP2 - Após o usuário escolher suas opções

STEP3 - Todas as variáveis (Para alguma exportação ou verificação). Variáveis SAP EXIT não aparecem na relação

O Documento a seguir é um documento da SAP que mostra como proceder para a criação de uma exit de variáveis de
query. Geralmente já existe alguma codificação criada, basta seguir o mesmo procedimento.

144
Treinamento SAP-BW

Business Scenario
A query should show in one column the value for one period. The period should be entered by the user. In the second
column the accumulated value from the beginning of the year to the period from the first column should be displayed.
The InfoCube contains only the InfoObject 0CALMONTH (Month/Year) and not single InfoObjects for the period and
year.

The Result
For this scenario we need four variables; two variables for the column text and two variables for the period values. One
of these period variables is defined as a variable with a customer exit.

The customer exit for variables is called three times maximally. These three steps are called I_STEP.
The first step (I_STEP = 1) is before the processing of the variable pop-up and gets called for every variable of the
processing type “customer exit”. You can use this step to fill your variable with default values.
The second step (I_STEP = 2) is called after the processing of the variable pop-up. This step is called only for those
variables that are not marked as “ready for input” and are set to “mandatory variable entry”.
The third step (I_STEP = 3) is called after all variable processing and gets called only once and not per variable. Here
you can validate the user entries.
Please note that you cannot overwrite the user input values into a variable with this customer exit. You can
only derive values for other variables or validate the user entries.

145
Treinamento SAP-BW

The Step By Step Solution


This example is based on the InfoCube 0D_SD_C03 from the Demo Business Content.

1. Create an input variable. The


variable is based on the InfoObject
0CALMONTH. Set the following
attributes:
 Single Value
 Ready for input
 Mandatory variable entry

2. Create a variable with a customer


exit as a processing type. The
variable is based on the InfoObject
0CALMONTH. Set the following
attributes:
 Interval
 Mandatory variable entry

146
Treinamento SAP-BW

3. Create two text variables. Both


variables use the “Replacement
Path” as the processing type.

The first text variable is filled with


the text from the ‘from value’.

The second variable is filled with the


text from the ‘to value’.

4. Call Transaction CMOD for the


definition of the customer exit.
Create a new project, maintain the
short text, and assign a development
class.

Goto Enhancements Assignments


and assign RSR00001. Press the
button components to continue.

147
Treinamento SAP-BW

5. Double-click on
EXIT_SAPLRRS0_001.

For documentation place the cursor


on RSR00001 and use the menu Goto
-> Display documentation.
6. Then double-click on ZXRSRU01.

If the include doesn’t exist you have


to create it; assign a development
class and a transport request.

7. Enter the coding (see also


Appendix). Save and activate the
coding.

148
Treinamento SAP-BW

8. Activate the project. This is very


important.

9. Define a query. The details are


described in the following steps.

10. Create a new structure for the


columns by using a right-mouse
click on the columns.

149
Treinamento SAP-BW

11. Make another right-mouse click


on the columns and choose the
option ‘New selection’.

12. Drag & drop the variable


‘MONTH’ to your selection. Add the
text variable &TMONTHF& as the
description.

13. Create a second selection

150
Treinamento SAP-BW

14. Now drag & drop the variable


‘CUMMONTH’ to your selection
Add the text variable &TMONTHF&
as the description.

15. Your Query should look like this


now.

16. Save your query, embed the


query in a workbook and execute
the query.

17. You can see in the first column


the value for the period which was
entered by the user.
The second column shows the
accumulated value from the
beginning of the year.
Both columns have the correct text.

151
Treinamento SAP-BW

Appendix
*----------------------------------------------------------------------*
* INCLUDE ZXRSRU01 *
*----------------------------------------------------------------------*

DATA: L_S_RANGE TYPE RSR_S_RANGESID.


DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT.

CASE I_VNAM.

WHEN 'CUMMONTH'.
IF I_STEP = 2. "after the popup
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'MONTH'.
CLEAR L_S_RANGE.
L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4)."low value, e.g.200001
L_S_RANGE-LOW+4(2) = '01'.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW. "high value = input
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
APPEND L_S_RANGE TO E_T_RANGE.
EXIT.
ENDLOOP.
ENDIF.

ENDCASE.

152
Treinamento SAP-BW

Reporting – Condições

Utilizamos condições para restringir valores no resultado de uma query (Apenas linhas de resultado que obedeçam a
regra são apresentados)

Para acesso a criação de condições, utilizamos o botão “Condições” da barra de ferramentas

Botão direito, condição nova:

Altere a descrição e clique em Processar. Veja também que temos a opção de marcar se a condição vai estar Ativa na
execução da query (O usuário pode ativar ou desativar a qualquer momento), nesse ponto é apenas o comportamento
standard:

153
Treinamento SAP-BW

Criando a condição: Clique em Novo, crie a sua condição e clique em Aceitar. Depois basta clicar em OK para voltar a
query (Veja que você pode utilizar também variáveis)

2
3

Detalhe sobre a guia “Atribuição de características”. Aqui você vai marcar para qual/quais característica(s) a condição
será aplicada. Exemplo: Você deseja saber quais são os TOP5 clientes por Estado. Aqui você vai marcar apenas
“Cliente”. Se marcar também o Estado, você irá ver apenas 5 Estados e dentro de cada um, 5 clientes.
Já marcando o Infoobjeto “Cliente”, iremos ter como resultado, todos os Estados, cada um com seus TOP 5.

154
Treinamento SAP-BW

Reporting – Exceções
Quando precisamos de um resultado como o da imagem abaixo, utilizamos exceções. Dependendo do valor e da
configuração, vamos atribuir uma formatação diferente:

Acessar Exceções com o botão em destaque na imagem abaixo e utilizar o botão direito para criar:

155
Treinamento SAP-BW

Já na tela de exceções, criamos as regras necessárias. (Veja que você pode utilizar também variáveis):

156
Treinamento SAP-BW

Na guia “Definição” é onde informamos para qual Keyfigure, a exceção vai valer (Podemos escolher todas também).
Podemos definir em qual momento aplicar a formatação de cores, no exemplo, será aplicado após a agregação (Utilize
essa opção quando você estiver utilizando alguma exceção baseada em um cálculo local, fórmula):

Na guia “Representação” vamos configurar o que será destacado: apenas as Keyfigures, Características ou ambos.
Exceção com efeito em células de dados: Formatar apenas keyfigures.

A opção “Exceção com efeito nas células de características” é para formatar (colorir) também a característica (Dia da
Semana, Cliente, Produto, etc), normalmente utilizamos a opção Linhas. Isso não é suportado quando executamos
a query utilizando o Excel (Bex Analyzer)

157
Treinamento SAP-BW

Na guia “Restrições células” vamos configurar se a exceção será aplicada apenas nas linhas de resultado ou em tudo.
Aqui também podemos dizer que não vamos aplicar a exceção (destaque) para um determinado grupo de valores de
alguma característica.

No exemplo, para Gênero tipo “A”, não será aplicado (Isso é apenas ilustrativo, no resultado final do Exercício, deverá
ser aplicado a todos os gêneros de filmes).

158
Treinamento SAP-BW

Reporting – Fórmulas
Com a utilização de fórmulas você poderá efetuar cálculos, decisões (IF) e muito mais em sua query. O que você criar
em fórmulas, você terá acesso apenas em uma específica query, aquela em que a fórmula foi criada.

Para criar uma fórmula, clique com botão direito na estrutura de Indicadores e escolha “Fórmula nova”:

Depois em Processar e você terá acesso a tela de criação de fórmulas. Você tem acesso apenas as keyfigures que
estão em sua estrutura, na query. Também podemos criar/utilizar variáveis de fórmulas (Exemplo: Solicitar ao usuário o
valor percentual a ser adicionado em uma determinada coluna).

159
Treinamento SAP-BW

Temos várias funções disponíveis, para conhecer, veja o documento PDF em seu material: “Formula Operators in
Business Information Warehouse for SAP BW.PDF”

Vamos mostrar dois que considero bem importantes:


• Função de dados: NODIM
• Como funciona os Operadores Booleanos

NODIM()

É muito comum operações em que temos que envolver keyfigures com diferentes unidades de medida. O BW
necessita ser avisado que a dimensão de unidade não importa para a fórmula. Por exemplo, somando a keyfigure
“Valor Total” que tem unidade BRL com um valor 12 sem unidade alguma. Senão colocarmos NODIM, o BW irá
apresentar uma mensagem. Você também vai reparar que em linhas de totais com mais de uma unidade o BW vai
apresentar no lugar do resultado um “ * “. Isso porque no montante existem unidades diferentes (Kg, g, Pacotes,
Paletes, etc):

Funcionamento de operadores booleanos (Sem NODIM apenas porque o foco é a condição)

O BW em condições retorna apenas duas informações: 1 = Verdadeiro ou 0 = Falso

Problema para exemplificar: Eu preciso subtrair 40 do Valor Total, caso ele tenha o valor igual a 10. A solução está no
seguinte cálculo:

A primeira parte “A” é a condição: “O Valor Total é igual a 10?”. Toda condição vai retornar 0 ou 1. Se for verdade eu
tenho o “A = 1”

Na composição restante da fórmula, teremos A * B, onde B é uma conta simples onde subtraímos 40 do “Valor Total”.
Ou seja, se “A=1”, o resultado final é

1 * (Valor Total – 40)

A B

Se a condição “A” for falsa, ou seja, “Valor Total não é 10”, o valor de A é Zero. Assim Zero vezes qualquer coisa é
Zero. O resultado seria 0 (Zero)

160
Treinamento SAP-BW

Vamos complicar um pouco mais. Meu problema agora é o seguinte:

Preciso subtrair 40 do Valor Total, caso ele tenha o valor igual a 10, Se ele for diferente de 10, eu quero apenas
subtrair 5).

Nesse caso utilizamos condições que se anulam e assim conseguimos fazer o “OR”. Repare que temos entre o sinal de
“ + “ (Adição) duas condições.

Uma e apenas uma, irá resultar em “1”.

Ao final eu tenho as duas possibilidades:

0 * (Valor total – 40) + 1 * (Valor Total – 5)

1 * (Valor total – 40) + 0 * (Valor Total – 5)

161
Treinamento SAP-BW

Reporting – Keyfigure Calculada / Restrita

Já vimos que podemos criar restrições com variáveis e também fixando valores de características. Também vimos
como filtrar uma keyfigure por uma variável e por uma ou mais características, Tudo isso até aqui foi local, ou seja,
válido apenas para a query em que foi criada.

Agora é possível fazer o mesmo de forma global, válida para todas as queries de um Infoprovider. Para isso utilizamos
índice Calculado e Restrito.

Para acesso, clique com botão direito em “Índices” e escolha a opção desejada. A criação é da mesma forma que
vimos localmente, a diferença é que aqui você tem acesso a todas as keyfigures do Cubo e também a todos os
cálculos e restrições já criados.

Também aceita varáveis, funciona igual.

162
Treinamento SAP-BW

Reporting – Estruturas
Você pode ter no máximo duas estruturas em sua Query. Uma já é criada automaticamente ao movimentarmos uma
keyfigure para o relatório:

Mas você pode criar outra, clicando com botão direito em Linhas ou Colunas e escolhendo “Nova estrutura”:

Você pode adicionar seleções e fórmulas em sua nova estrutura. Clique com botão direito em sua estrutura e escolha a
opção que desejar:

Você pode também salvar uma estrutura que pode ser utilizada em outras queries do mesmo Infoprovider:

163
Treinamento SAP-BW

Reporting – Definição de células

Você obrigatoriamente necessita ter duas estruturas em sua query para a utilização de células. A query com estruturas
fica com menos possibilidade de navegação, mas nos dá um poder enorme para cálculos e fórmulas através de
Células. É como trabalhar no conceito de célula do Excel, cruzamento de Linha x Coluna. Com duas estruturas criadas,
clique no botão para acesso a definição de células:

Veja que temos é acesso a cada cruzamento entre Linha x Coluna. Com opções de criar uma referência de célula (Ou
seja, nomear um cruzamento para utilizá-lo em outra fórmula). Sobregravar o valor por uma fórmula ou seleção
diferente do que seria o comportamento normal.

Temos acesso também a células de ajuda, Você pode fazer uma seleção diferente e mesmo uma fórmula nas células
de ajuda e utilizar isso em qualquer ponto (Linha x Coluna)

164
Treinamento SAP-BW

Reporting – Navegação Web

A navegação em uma query não tem muito segredo. Utilizamos muito o botão direito para acesso menu de contexto e
demais opções. No mais, os ícones já apresentam uma indicação de seu uso. Basta navegar e testar.

Com o botão direito temos acesso a opção de Menu Ampliado, com algumas outras opções, por exemplo,
características da query e também do infoobjeto que clicamos com botão direito:

165
Treinamento SAP-BW

Reporting – Analyzer (Frontend é o Excel)

Uma opção de frontend utilizada para o Query Designer é o Excel. A ferramenta se chama Analyzer e podemos
acessar partindo de dentro do BW com a transação RRMX. Também podemos acessar via menu do Windows (Grupo
de programas “Business Explorer”:

O Excel será aberto com uma barra de ferramentas a mais:

Ao abrir o Query Designer por aqui, você tem um botão adicional na barra de ferramentas, justamente para a execução
no próprio Excel:

Praticamente tudo que pode ser feito na Web (ou transação RSRT em HTML) pode ser feito aqui no Excel. A principal
vantagem é ter seus dados em uma ferramenta que praticamente todo pessoal de negócio que vai utilizar a informação
conhece.

Ele também pode salvar suas consultas como Pastas de Trabalho (Workbooks).

166
Treinamento SAP-BW

Workbooks são arquivos Excel com macros adicionais para acessar o BW e atualizar a query, veja que o usuário deve
ter acesso ao BW e a consulta é atualizada em tempo real. Você pode ter mais de uma query em um único arquivo.
Para gravar uma pasta de trabalho utilize o Menu “BEx Analyzer” -> “Gravar pasta de trabalho”. Isso vai ficar salvo no
BW.

Caso queira guardar em sua máquina, utilize o salvar o Excel normalmente que a macro vai junto (Quando você abrir,
você terá que se conectar ao BW). Uma pasta de trabalho simples pode ser criada facilmente, basta abrir a query
desejada em uma planilha do seu arquivo Excel e salvar.

Com isso você tem um arquivo Excel com uma query do BW. Você pode então, adicionar seus cálculos na mesma
planilha ou em outra, utilizando como fonte a planilha que tem os resultados da query. Veja que para esse tipo de
utilização o ideal são queries de pouca navegação, para que o seu trabalho no Excel não tenha que envolver muito
esforço.

Suas fórmulas podem estar ligadas a uma determinada região de dados, então você faz um drill-down por outra
característica ou remove alguma. Sua área de resultado já é outra e as fórmulas feitas na pasta de trabalho ficam
danificadas..

167
Treinamento SAP-BW

Reporting – Analyzer (Visões)

Outra opção do Bex Analyzer são as Visões. A partir de uma query do BW, você consegue definir diversas outras
visões dessa mesma query, alterando as navegações:

Visão 001

Visão 002

Utilizamos visões para compor uma Pasta de Trabalho ou mesmo um Template do Web Application Designer. Veja
como é o ícone de uma visão.

Você também pode gravar visões de queries utilizando a transação RSRT. Utilize o botão “Gravar Visão”.

168
Treinamento SAP-BW

Reporting – Analyzer (Modo Design)

Vimos como é possível guardar visões e também como criar pasta de trabalho simples (Com uma query e sem
formatação). Agora, para criar um Workbooks (Pasta de trabalho) mais elaborado, você pode utilizar o modo Design da
nova versão do Bex Analyzer. Clique no botão em destaque na imagem abaixo:

Será possível trabalhar com todos os seguintes botões para criar uma pasta de trabalho, por exemplo com mais de
uma query ou utilizando visões.

Cada um dá a possibilidade de inserir/trabalhar com um objeto diferente: Tabela, Bloco de navegação, Filtro, botões,
caixa de combinação, checkbox, radiobutton, lista de condições, lista de exceções, um texto que você queira e
mensagens. Praticamente é possível criar/formatar sua pasta de trabalho da maneira que preferir:

Exemplo, vamos inserir duas visões em nossa planilha. Criamos uma em branco (Uma planilha mesmo, a partir do
menu do Excel). Clicamos então no modo design, selecionamos a célula do Excel e clicamos sobre o ícone de tabela
de análise (Colocamos duas: A1 e C1):

169
Treinamento SAP-BW

Agora, como qualquer outro objeto dessa barra de ferramentas,vamos alterar as suas propriedades, cada qual tem a
sua. Clicamos sobre o objeto da célula A1 para acesso as características do objeto Tabela de análise. O principal é
Dataprovider, que é onde vamos escolher a query ou view fonte de dados para o objeto:

Queremos acrescentar uma visão aqui, logo clicamos para criar um Dataprovider. Podemos alterar o nome do
Dataprovider e obrigatoriamente escolher uma fonte, que em nosso caso é uma visão (A visão fica abaixo de uma
Query).

170
Treinamento SAP-BW

Podemos definir o comportamento dessa visão/query em nossa planilha, depende da utilização do seu Workbook:

Faremos o mesmo com o objeto que está na outra célula “C1”, mas vamos escolher outra visão (ou query):

Ao final temos em uma mesma planilha, duas visões do BW, apresentando o mesmo resultado de forma diferente, sem
navegação. Amarelo iniciando em A1 e azul iniciando em C1:

171
Treinamento SAP-BW

Reporting – WAD (Web Application designer)


Com o WAD podemos desenvolver páginas Web com as Queries criadas no Query Designer. Podemos utilizar uma ou
mais Queries. O ideal, não é utilizar Queries com muitas opções de navegação para não fugir muito do aspecto original
de seu layout (Dashboard). Mas nada impede de criarmos um template com o logo da empresa e acrescentar uma
única query com toda navegação possível.

A idéia do WAD é a mesma que vimos no modo Design do Bex Analyzer, mas aqui temos muitos outros objetos
disponíveis e o resultado é na web.

172
Treinamento SAP-BW

O WAD é muito semelhante a outros tipos de ferramentas. Do lado esquerdo, temos uma lista de objetos para fazer o
Drag&Drop para a área de criação (os Web Item). Cada objeto tem suas propriedades e vamos defini-las conforme a
necessidade e o desenho de seu Template (Novamente, como no Modo Design do Analyzer):

173
Treinamento SAP-BW

Vamos criar um pequeno exemplo utilizando alguns objetos. Críamos algumas visões para utilizar em nosso template
(Poderiam ser queries também):

Criamos um modelo em branco e vamos inserir uma tabela para organizar os objetos em nosso template. Temos 4
visões (ou queries), logo vamos inserir uma tabela 2x2

174
Treinamento SAP-BW

Vamos agora inserir 4 objetos, um em cada célula de nossa tabela: Um objeto de análise, dois Diagramas (Gráficos) e
um Ticker (Esse último está no grupo “Vários” dos objetos disponíveis):

A B

C D

Agora temos que definir as propriedades de cada objeto, as características estão na parte inferior a esquerda. No
objeto “A”, vamos fazer a ligação com a visão “Itens por semana”, isso é feito através de um Dataprovider. Criamos um
Dataprovider e selecionamos a query ou visão que desejamos (Nesse exemplo uma visão). Assim, nessa área da
tabela iremos apresentar uma query com os dias da semana e a keyfigure quantidade de itens:

175
Treinamento SAP-BW

No objeto “B”, vamos fazer o mesmo, mas inserir a visão: Linha de total geral. O Ticker é um objeto com efeito legal,
fica passando informações como um painel de bolsa de valores ou como as informações na parte inferior da TV ao
assistir um canal de notícias 24hs.

No objeto “C”, vamos utilizar a visão “Principais áreas”. A criação do Dataprovider é igual, mas o objeto vai representar
um Gráfico de Pizza. Altere as características conforme sua necessidade (Veja, todo objeto tem as suas propriedades
na aba Parâmetros de Web Item):

176
Treinamento SAP-BW

Também identificar o tipo de gráfico. Clicar com botão direito sobre o objeto e escolha “Processar”:

Vamos selecionar o tipo de gráfico que queremos e clicando em avançar, vamos definir as propriedades de ligação
entre o gráfico e a query (Visão). Como criação de um Gráfico no Excel:

177
Treinamento SAP-BW

No objeto “D”, outro gráfico, agora de colunas com a visão: “Top 5 Clientes”

178
Treinamento SAP-BW

Sem grandes alterações, utilizando as configurações de propriedades padrão de todo Web item, essa é a visão de
nosso template:

Você pode refinar seu modelo, utilizar outros objetos, criar outras queries específicas para utilizar, etc. Leva algum
tempo para criar um template e aprender a utilizar todos os Web Item disponíveis, também é bom desenhar sua idéia
antes em um papel, ver como vai ficar e aí partir para a ferramenta.

179
Treinamento SAP-BW

Algumas dicas em Geral


Transações: São como atalhos. Você pode ir diretamente onde você deseja, sem seguir o Menu. Cada transação nos
dá acesso a uma determinada parte/aplicação do sistema. Você acaba decorando as principais, ou ao menos, as que
você mais utiliza.

Algumas das transações abaixo serão encontradas tanto no BW com no sistema fonte. Na coluna “Onde”, foi
convencionado o local onde normalmente serão utilizadas:

Sistema fonte = ECC

Código Onde Serve para...


RSA1 BW Administração – Sua principal Transação
RRMX BW Chama o Bex Analyzer (Excel)
RSRT BW Execução de queries para testes
SBIW Sistema Fonte Administrar DataSources
RSA7 Sistema Fonte Verificar a fila de registros delta para BW
RSKC BW Relacionar os caracteres adicionais permitidos. Atenção ! não apague
a linha, apenas adicione o novo caracter no final de todos e tecle
F8 para gravar. A tabela que possui esses caracteres chama-se
RSALLOWEDCHAR
RSD1 BW Atalho com acesso a manutenção de vários tipos de objetos.
SM66 BW/Sistema fonte O que está em execução no momento em seu sistema
SM12 BW/Sistema fonte Síntese de bloqueio. Normalmente conseguimos ver o objeto
bloqueado, mas não temos autorização de eliminar. Um bloqueio pode
ser causado, por exemplo, se estiver alterando uma query e o sistema
falha. A query fica bloqueada.
SE11 BW/Sistema fonte Dicionário de dados (Ver conteúdo de tabelas)
RSA3 Sistema fonte Testar extração de um datasource
RSA5 Sistema fonte Ativar business content de datasource (Um atalho dentro da SBIW)
LISTCUBE BW Conteúdo do Cubo
RSPC BW Process chain (Acesso a todos)
RSCP1 BW Abrir um único Process chain
SE38 BW Executar programas ABAP. Execute o programa
RS_TEMPLATE_MAINTAIN. Você tem acesso a testes de seu Web
Application Designer sem a necessidade de abrir a ferramenta. Utilize o
nome do template como parâmetro

180
Treinamento SAP-BW

Saltos de Queries (RSBBS)

Salto de query permite sairmos de uma query para outra passando algum filtro para a Query de destino (Drill Through).

Por exemplo, uma Query apresentando Mês e Quantidade para um determinado ano (Temos no máximo 12 linhas de
resultado, pouco detalhe). Digamos que navegações não são possíveis, ou seja, nesse Cubo a granularidade é Ano e
Mês. Não temos qualquer outra informação.

O Analista deseja identificar o que houve em um determinado mês que está em vermelho (Query com exceções).
Podemos configurar o salto para uma query por Dia e Produto, passando como filtro um Mês escolhido na query
original. A query destino, deve ter uma variável de Mês e Ano para receber o parâmetro.

Na transação RSBBS, vamos criar uma ligação:

181
Treinamento SAP-BW

Open Hub
Open hub é comumente utilizado para extrair infomações do BW para tabelas ou arquivos CSV. Na versão 7.X
utilizamos Criação de destino Open Hub. Em Modelagem (Dentro da RSA1)

Preencher as informações necessárias. Em Modelo, é o objeto que você pretende ler as informações:

182
Treinamento SAP-BW

Veja os tipos de destino que podemos utilizar: Uma tabela (Dentro do BW), Um arquivo texto ou ainda enviar os dados
para um aplicativo externo (Esse último não é nada comum)

Em caso de tabela, você pode definir entre uma chave técnica (O BW irá criar) ou chave semântica onde a própria
origem possui a chave

Em caso de extração de arquivo texto, outras informações serão solicitadas

Após preenchimento, basta ativar. Aqui também teremos que criar uma DTP que irá controlar a extração das
informações. A transformações será gerada automaticamente. Ative a DTP e execute.

183
Treinamento SAP-BW

Infospokes (Versão 3.x)

O infospoke é uma outra opção para a extração de dados do BW, já obsoleto. Transação RSA1 e no menu
Ferramentas escolha Serviços de Open hub. Depois Criar infospoke (Transação RSBOH2)

Na versão 7.0 é possível utilizar sem problemas.

Escolha o nome para seu Infospoke e clique em criar

184
Treinamento SAP-BW

Como em Open hub, temos que preencher a origem dos dados

Qual o tipo de destino da informação (Todas opções que temos em Open hub)

185
Treinamento SAP-BW

Em infoobjetos, você irá escolher quais objetos irão fazer parte do arquivo/tabela de destino:

Em seleção, caso queira fazer algum filtro. Informe no infoobjeto correspondente:

Finalmente em transformação (Requer conhecimentos de programação ABAP), se deseja fazer algum cálculo antes da
geração do registro, excluir registros, etc. Marque o checkbox e automaticamente o BW irá criar o ABAP apenas para
que você inclua sua rotina:

Ative o Infospoke. Não é necessário criar DTP. Você pode executar e dependendo do tipo
de destino, também incluir em um Process chain

186
Treinamento SAP-BW

Visão geral do processo de carga da versão 3.X (e anterior)

Estou anexando essa informação adicional, apenas para fazer um comparativo com o processo de carga que existe
atualmente na 7.x. O processo de carga era um pouco diferente e envolvia outros objetos.

Infoproviders

InfoCubo Sistema Fonte Infosource

Objeto ODS Regras de atualização Infopackage

Infoobjeto com Dado Mestre PSA Queries

187
Treinamento SAP-BW

Exercícios

188
Treinamento SAP-BW

“A vantagem competitiva é o resultado que a organização consegue obter no mercado mediante as estratégias traçadas para
alcançar esse objetivo. Mas antes mesmo de traçar as estratégias, é necessário que se faça um estudo (análise) do ambiente em
que a organização está situada ou atua”.

A BW Filmes Ltda. atua há 15 anos no ramo de locações e está presente em praticamente todos os Estados. Hoje é sem dúvida a
locadora mais completa do País (Com um dos maiores acervos).

Precisamos transformar a nossa base de DADOS em INFORMAÇÃO e CONHECIMENTO. Para tanto, a empresa adquiriu a
ferramenta Business Information Warehouse da SAP.

Informações de acesso ao sistema:

1) Abrir o SAP Logon. Se você não tem o atalho, use o menu:

Escolha a entrada de acesso ao BW (O instrutor irá informar qual é, pois pode não estar como BW):

2) Usuários: ALUNOXX / Senha: cursobw

Onde XX será de 01 – 12.

Atenção para o Mandante: 200. O idioma é default “PT” para todos.

Senha: cursobw (Atenção porque é case sensitive. Use sem CAPS Lock)

TODOS OS USUÁRIOS SÃO TAMBÉM DESENVOLVEDORES ABAP.

189
Treinamento SAP-BW

Principal Transação: RSA1 – Para acesso ao Administrator Workbench

Se exibir a seguinte mensagem, marque para não exibir novamente e escolha Não:

Atalhos importantes na barra de ferramentas:

1 3
2

1- É muito comum não aparecer algumas funcionalidades e o motivo pode ser que você esteja Exibindo um item
ao invés de estar mo modo de modificação

2- O botão verificar vai ajudá-lo a encontrar problema em sua construção de Objetos e Rotinas

3- O botão ativar deve sempre ser utilizado, após qualquer alteração, para efetivamente tornar sua alteração
válida

190
Treinamento SAP-BW

PARTE 1 – Base (Infoobjetos e Infoproviders)

CATÁLOGO DE INFOOBJETOS

A organização dentro do BW é algo muito importante, principalmente em grandes instalações. Para organização do
treinamento, foi criada uma infoarea para cada aluno dentro de “Business Information Warehouse”.

Para criar uma infoarea, basta clicar com botão direito em uma outra já existente e escolher “Criar Infoarea”. Informar
apenas o nome técnico e uma descrição.

Um catálogo de objetos, deve estar sempre abaixo de uma infoarea e serve para agruparmos infoobjetos, também
voltado para organização. Vamos criar um catálogo para cada tipo de Infoobjeto:

Nome Técnico Descrição


CTC_ALUNOXX Características AlunoXX
CTK_ALUNOXX Keyfigures AlunoXX

Para criarmos um catálogo, clicar com botão direto sobre uma Infoarea e escolher “Criar catálogo”. Muita atenção para
a escolha do tipo, não é possível trocar depois

191
Treinamento SAP-BW

CRIAÇÃO DOS INFOOBJETOS

O primeiro passo é a criação dos Infoobjetos (Campos), eles são a base para qualquer outro objeto dentro do ambiente
BW, vamos a eles:

Observações:
• Para os infoobjetos que possuem texto, marque “Existe texto descritivo”

• O nome técnico deve ter como os dois últimos caracteres a identificação do aluno (ALUNOXX). Complete o XX
com a sua identificação. O nome técnico pode ter no máximo 9 posições e no mínimo 3.

• Os itens destacados na tabela, são keyfigures. Onde o tipo for CURR, significa Montante (Valor em dinheiro)

Com dados Dep. Atributos


Nome Técnico Descrição Tipo Tam. Com texto Unidade
Mestre Idioma (* navegação)
CA_GENXX Gênero CHAR 01 X
CA_TIPXX Tipo CHAR 01 X
KF_AQXX Preço aquisição CURR Fixo BRL
CA_FILMXX Filme NUMC 04 X X X CA_GENXX (*)
CA_TIPXX (*)
KF_AQXX
CA_PRODXX Produto NUMC 02 X
CA_MIDXX Mídia CHAR 01 X
CA_UFXX Estado CHAR 02 X
CA_DSEMXX Dia da Semana CHAR 01 X
CA_FILIXX Filial NUMC 02 X X CA_UFXX (*)
CA_SEXX Sexo CHAR 01 X
CA_ANOXX Ano nascimento NUMC 04
CA_MESXX Mês nascimento NUMC 02 X
CA_IDAXX Idade NUMC 03
CA_CLIEXX Cliente NUMC 04 X X CA_UFXX (*)
CA_SEXX (*)
CA_ANOXX
CA_MESXX
CA_FILIXX (*)
CA_IDAXX (*)
KF_QTTXX Qtd. de títulos QUAN Fixo UN
KF_QTIXX Qtd. de Itens QUAN Fixo UN
KF_VLRXX Valor dos títulos CURR Fixo BRL
KF_VLIXX Valor dos itens CURR Fixo BRL
KF_VLTOXX Valor total CURR Fixo BRL

Atenção:
Preço Aquisição: É o atributo do filme que indica o valor de custo do produto
Valor dos Títulos: Indica o valor faturado, ou seja, a soma de locações feitas

192
Treinamento SAP-BW

CRIANDO UM DESTINO DE DADOS: DSO

Como estamos utilizando carga de arquivo texto, não temos a opção de delta (Apenas registros novos e/ou alterados).
Um bom recurso da DSO é esse controle. Você pode mandar dois arquivos iguais, ela vai mandar para o Cubo,
apenas o que for diferente:

Nome Técnico da DSO DS_ALUXX – DSO BW Vídeo Aluno XX

Vamos criar uma DSO tipo standard. Abaixo a imagem de como deve ficar sua DSO. Você também pode incluir o
objeto standard 0RECORDMODE (Explicado em seu guia de referência, na criação de DSO)

193
Treinamento SAP-BW

CRIANDO UM DESTINO DE DADOS: CUBO (Infocubo)

Nome Técnico do Cubo IC_ALUXX – Cubo BW Video Aluno XX

Na imagem abaixo você tem o modelo Star-Schema do cubo a ser criado. O cubo é do tipo Standard.

Está é sua representação em Modelo Estrela. Você pode acessar essa informação no Repositório de Metadados

194
Treinamento SAP-BW

Não se esqueça de ativar todos os atributos de navegação !!! (Identificados no modelo com >>)

Opcional: Um cálculo que com certeza será feito na maioria dos relatórios é a soma total de gastos do cliente, ou seja,
Valor do Itens + Valor do Títulos. Você pode adiantar o seu trabalho, acrescentando um índice (Keyfigure) a mais no
cubo: KF_VLTOXX - Valor total

195
Treinamento SAP-BW

PARTE 2 - ETL
CARGA DE DADOS MESTRE

Primeiro passo é inserir o objeto como infoprovider. Todo objeto que iremos carregar dados utilizando o processo
padrão de ETL, deve ser inserido como Infoprovider (Botão direito na Infoárea e escolher “Inserir característica como
Infoprovider)

Depois criamos a estrutura de carga (Datasource, Infopackage, Transformação e DTP). Sempre comece pelo
datasource, é mais simples dessa forma.

Os Infoobjetos que temos que carregar, são os que possuem dados mestre (Texto e/ou atributos).

Nome Técnico
Descrição Nome do arquivo Layout do arquivo
para o Datasource

DS_CA_GENXX TEXT GENERO_TEXT.CSV CODIGO;TEXTO

DS_CA_TIPOXX TEXT TIPO_TEXT.CSV CODIGO;TEXTO

ATTR FILMES_ATTR.CSV CODIGO;GENERO;TIPO;PRECO AQUISICAO


DS_CA_FILMXX
TEXT FILMES_TEXT.CSV CODIGO;IDIOMA;TEXTO

DS_CA_PRODXX TEXT PRODUTOS_TEXT.CSV CODIGO;TEXTO

DS_CA_MIDXX TEXT MIDIA_TEXT.CSV CODIGO;TEXTO

DS_CA_UFXX TEXT UF_TEXT.CSV CODIGO;TEXTO

DS_CA_DSEMXX TEXT DIASEMANA_TEXT.CSV CODIGO;TEXTO

ATTR FILIAL_ATTR.CSV CODIGO;UF


DS_CA_FILIXX
TEXT FILIAL_TEXT.CSV CODIGO;TEXTO

DS_CA_SEXX (*) TEXT SEXO_TEXT.CSV CODIGO;TEXTO

ATTR CLIENTES_ATTR.CSV CODIGO;UF;SEXO;ANO;MES;FILIAL


DS_CA_CLIEXX
TEXT CLIENTES_TEXT.CSV CODIGO;TEXTO

(*) Sexo - apenas dois registros, será que compensa criar um processo de carga ? Qual a outra forma ?

196
Treinamento SAP-BW

CARGA DO DADO TRANSACIONAL (Primeiro para DSO e depois para o Cubo)

Nome do Datasource DS_TRANSACIONAL_ALUNOXX

Nome do arquivo DADO_TRANSACIONAL.CSV

Abaixo o formato do arquivo.

0CALDAY Dia do calendário (Objeto standard que teremos que utilizar, não é possível criar objetos que indicam tempo)
CA_CLIEXX Cliente
CA_FILMXX Filme
CA_PRODXX Produto
CA_DSEMXX Dia da Semana
CA_MIDXX Mídia
KF_QTTXX Qtd. de títulos
KF_QTIXX Qtd. de Itens
KF_VLRXX Valor dos títulos
KF_VLIXX Valor dos Itens

Observações válidas para todos os Infopackages:

- Todos os arquivo CSV possuem linha de cabeçalho


- Campos no arquivo separados por “;” (ponto e vírgula)
- Utilizar “,” para cada decimal e “.” para separador de milhar (Na guia Dados Externos)

197
Treinamento SAP-BW

PARTE 3 - Queries
Padrão para Nome técnico da Query: QRY_99_ALUNOXX (Além do código do aluno no lugar de “XX” substituir
também o 99 pelo número do exercício da Query)

 00 – Adhoc
- Adhoc é uma consulta eventual que não possa ser determinada antes do momento da consulta ser emitida.
- Coloque todas as Keyfigures nas colunas
- Coloque todas as características como livres
- Crie variáveis do tipo Range Opcionais para:
 Estado e Ano/Mês

 01 - TOP 10 dos filmes mais locados por ano


- Com a possibilidade de escolher um ano em tela de seleção obrigatoriamente

 02 - TOP 5 dos clientes que mais locam (Por filial e por Estado)
- Permitir escolha do Ano em tela de seleção. Deve ser obrigatório e de valor único
- Não levar em consideração registros que possuem apenas compra de produto

 03 - Quantidade de Clientes por filial


- Com escolha da filial. A tela de seleção deve permitir escolher um range para as filiais. Mas isso deve ser
opcional

 04 - Maior filial em número de clientes

 05 - Qual gênero está sendo mais locado


- Não levar em consideração registros que possuem apenas compra de produto
- Quem vai analisar as informações também criou um padrão do que ele acha ser bom, médio ou ruim em
termos de quantidade de locações por gênero. Você também deve fazer isso na query:
 De # até 1500 = Ruim
 De 1501 até 4500 = Médio
 De 4501 até # = Bom

 06 - Qual gênero as mulheres mais locam


- Quanto representa cada gênero que as mulheres locam no total de locação feita por mulheres?

 07 – Homens x Mulheres – Quantidade de locações


- Com a possibilidade de escolher uma range para o ano em tela de seleção

 08 - Quantidade de vezes em que apenas efetuam compras, ou seja, um cliente entra, mas não aluga nada,
apenas faz compras de algum item. Quais são esses produtos? (Para esse exercício vamos assumir que um
cliente vá apenas uma vez na loja por dia, a idéia aqui é apenas entender a diferença da granularidade entre os
Infoproviders DSO e CUBO)
- Com a possibilidade de escolher uma range de data
- O usuário deseja navegar pelo dia da semana

 09 - Qual o dia da semana que mais se loca filmes


- Permitir escolha do Ano em tela de seleção. Deve ser obrigatório e de valor único

 10 - Valor total (Locações + Produtos por Estado e Regiões do Brasil (* Para região temos mais de uma solução)
- Opção de filtro do Mês e Ano através de variável tipo range opcional.

198
Treinamento SAP-BW

 11 – Quais os gêneros de filmes que os maiores de 50 anos alugam


- Permitir escolha do Ano em tela de seleção. Deve ser obrigatório e de valor único

 12 - Filmes que nunca foram locados

 13 - Comparação da venda de Produtos no ano de 2011 entre BW Vídeo e a sua maior Concorrente. Visão padrão
com Produtos na Linha e as locadoras nas colunas. Calcular a diferença entre as duas empresas

Uma opção a mais para o usuário:

Pode ser interessante dar a opção de o usuário navegar também por regiões e não apenas por estado. Para fazer isso,
podemos criar uma hierarquia no infoobjeto CA_UFXX. Para criação de Hierarquias, você deve modificar o infoobjeto
na aba “Hierarquias” (Maiores informações no seu guia de referência).

Região Centro-Oeste: Goiás, Mato Grosso, Mato Grosso do Sul e Distrito Federal.

Região Nordeste: Maranhão, Piauí, Ceará, Rio Grande do Norte, Paraíba, Pernambuco, Alagoas, Sergipe e Bahia.

Região Norte: Acre, Amazonas, Roraima, Rondônia, Pará, Amapá e Tocantins.

Região Sudeste: Minas Gerais, Espírito Santo, Rio de Janeiro e São Paulo.

Região Sul: Paraná, Santa Catarina e Rio Grande do Sul

199
Treinamento SAP-BW

Para a criação de Queries utilizamos a ferramenta Query Designer. A execução do relatório pode ser pelo Excel (BEx
Analyzer), via transação RSRT ou diretamente na Web.

Atenção: Para executar no Excel, você deve tem que abrir o Query Designer do próprio Excel. Veja seu guia de
referência para maiores detalhes.

200
Treinamento SAP-BW

Resolução dos Exercícios parte 3 - Query


 00 – Adhoc
- Adhoc é uma consulta eventual que não possa ser determinada antes do momento da consulta ser
emitida.
- Coloque todas as Keyfigures nas colunas
- Coloque todas as características como livres
- Crie variáveis do tipo Range Opcionais para:
 Estado e Ano/Mês

Nome da Query: QRY_00_ALUNO00 – Adhoc

A idéia aqui é apenas ter o primeiro contato com a ferramenta. Execução de query e navegação. Praticamente
movimentamos todos os componentes para o relatório. Atenção ao marcar a aba correta “Linhas/colunas”

Todas as Características (Como livres, para navegação) e todas as Keyfigures:

201
Treinamento SAP-BW

202
Treinamento SAP-BW

Agora vamos criar as variáveis necessárias. O procedimento é o mesmo para ambas, vamos ver um passo-a-passo:
Variável de Range para Estado.
O primeiro passo é colocarmos a característica Estado em “Restrições de características”, na aba Filtro

Clicar com Botão direito e escolher restringir:

Mude o tipo de restrição para Variáveis e escolha Criar (Caso não exista a variável que você precisa:
203
Treinamento SAP-BW

Coloque o nome técnico e a descrição. O processamento não precisa ser alterado, já que a escolha será do usuário.
Depois podemos ir para a aba Detalhes:

204
Treinamento SAP-BW

Em detalhes, é onde vamos dizer que essa variável é opcional e aceita um range de valores (de-até). Pronto, basta
salvar e utilizar na query:

Confirme o nome e a descrição, e clique em ok:

Movimentar a variável para a restrição:

205
Treinamento SAP-BW

Sua restrição deve ser algo assim, com duas variáveis (Estado e Ano/Mês). Repare que estou vendo os nomes
técnicos porque estou utilizando o ícone de ferramenta em destaque. Repare também que eu utilizei uma variável
standard (que começa com o número “0” para restringir o Ano civil/Mês (Antes de criar, verifique se já existe uma
variável):

Como essa query é de simples navegação, não vamos colocar a imagem do resultado, pois esse irá variar.

206
Treinamento SAP-BW

 01 - TOP 10 dos filmes mais locados por ano


- Com a possibilidade de escolher um ano em tela de seleção obrigatoriamente

Nome da Query: QRY_01_ALUNO00 – TOP 10 filmes

Nesse exercício, vamos ver como é a Utilização de Condições. O usuário quer saber apenas os 10 filmes que foram
mais locados em um ano específico (Veja que a variável para o Ano é obrigatória)

Em sua query você vai precisar apenas da característica FILME e da keyfigure VALOR DOS TÍTULOS

207
Treinamento SAP-BW

Como variável, vamos utilizar o infoobjeto 0CALYEAR. Veja que se você criar uma variável nova, dessa vez, ela deve
ser obrigatória:

208
Treinamento SAP-BW

Criação da variável: Ela deve ser obrigatória. Nas opções também temos “Obrigatório, valor inicial não permitido”, ou
seja, não é possível escolher um valor não atribuído “#”. Deve ser um ano válido.

Se executarmos a query agora, teremos para o Ano escolhido, a lista de todos os filmes locados e seus valores. Para
saber o “TOP 10”, basta verificar os valores para cada um, quem tem os maiores valores no decorrer do Ano escolhido,
será apresentado: Isso é uma condição:

Para acesso a criação de condições, utilizamos o botão “Condições” da barra de ferramenas

209
Treinamento SAP-BW

Botão direito, condição nova:

Altere a descrição e clique em Processar. Veja também que temos a opção de marcar se a condição vai estar Ativa na
execução da query (O usuário pode ativar ou desativar a qualquer momento), nesse ponto é apenas o comportamento
standard:

210
Treinamento SAP-BW

Criando a condição: Clique em Novo, crie a sua condição e depois em Aceitar. Depois basta clicar em OK para voltar a
query

2
3

O resultado da quey, com a escolha de 2010 deve ser esse:

211
Treinamento SAP-BW

 02 - TOP 5 dos clientes que mais locam (Por filial e por Estado)
- Permitir escolha do Ano em tela de seleção. Deve ser obrigatório e de valor único
- Não levar em consideração registros que possuem apenas compra de produto

Nome da Query: QRY_02_ALUNO00 – TOP 05 Clientes por Filial

Nesse caso, temos quase a mesma situação do exercício da query 01 (Top 10), mas aqui, além dos principais clientes,
não podemos levar em consideração aqueles clientes que apenas compram produtos.

Sua query básica deve ter as seguintes características: Estado (UF), Filial, Cliente.
Como keyfigure, a melhor escolha é o “Valor dos Títulos”. Se você escolher o “Valor Total”, que é a soma de Produtos
e Títulos, você pode acabar pegando registros em que o cliente irá apenas comprar produtos. Isso é para ter atenção
em qual keyfigure aplicar uma condição.

A novidade fica por conta da apresentação como hierarquia. Repare que no momento em que você coloca mais de
uma característica em Linhas, você tem essa opção. O BW simula uma hierarquia para apresentar o resultado
(Novamente, isso pode ser alterado em tempo de execução pelo usuário)

A criação da condição também tem uma diferença. Na primeira parte, apenas TOP 5
212
Treinamento SAP-BW

Agora vamos até a aba “Atribuição de características”. Temos que informar que a condição TOP 5 é válida apenas para
o Cliente. Caso contrário, se marcamos para todas, o que iremos ter de resultado são os 5 Maiores Estados em
locação, dentro de cada um as 5 maiores Filiais. Nós queremos o TOP 5 de clientes para todas as Filiais.

O resultado da query, para o ano de 2012, deve ser esse (Parte do resultado):
213
Treinamento SAP-BW

Outra forma de apresentar é ativando a hierarquia e eliminando a linha de Total (Tudo é feito acessando o menu com o
botão direito, chamado menu de contexto):

214
Treinamento SAP-BW

Ativamos a hierarquia:

E automaticamente, temos a representação por hierarquia:

215
Treinamento SAP-BW

 03 - Quantidade de Clientes por filial


- Com escolha da filial. A tela de seleção deve permitir escolher um range para as filiais. Mas isso
deve ser opcional

Nome da Query: QRY_03_ALUNO00 – Quantidade de clientes por filial

A query nesse caso é simples, mas o local correto para se obter essa informação e criando uma query no próprio
Infoobjeto: CA_CLIEXX

Porque ? No Infocubo, temos apenas clientes que efetuaram alguma transação. Se algum cliente fez o cadastro, mas
nunca efetuou alguma transação nas locadoras, ele não será incluído na contagem.

Veja que criando a query no Infoobjeto, temos uma keyfigure de Número de registros, automaticamente.

216
Treinamento SAP-BW

A outra parte é apenas criar uma variável de intervalo (range) para a Filial:

O resultado de sua query deve ser esse (Sem escolha de qualquer filial, vemos aqui parte do resultado:

217
Treinamento SAP-BW

 04 - Maior filial em número de clientes

Nome da Query: QRY_04_ALUNO00 – Maior filial em número de clientes

Para essa query, podemos salvar a query anterior com outro nome e apenas aplicar a condição TOP N.

218
Treinamento SAP-BW

Criamos a condição para o TOP N, onde N = 1. Na imagem abaixo temos todas as outras opções. Por exemplo, para
conhecer a menor Filial em número de clientes utilizamos Bottom N.
Outro ponto em destaque é a possibilidade de utilizarmos variáveis, ou seja, o usuário escolhe o valor para condição.

Ou ainda temos a opção de criar a condição na query “03”, e o usuário pode Ativar ou Desativar a condição. A maior
filial em número de clientes é:

Seu resultado pode ter sido o abaixo. Como alterar a linha de total?

Se o seu resultado aparecer o texto “1ROWCOUNT”, basta alterar a descrição da keyfigure Número de Registros,
desmarque o flag “Utilizar textos standard” e coloque o label para coluna que desejar, por exemplo “Qtd. Clientes”

219
Treinamento SAP-BW

05 - Qual gênero está sendo mais locado (Quantidade e não valores)


- Não levar em consideração registros que possuem apenas compra de produto
- Quem vai analisar as informações também criou um padrão do que ele acha ser bom, médio ou
ruim em termos de quantidade de locações por gênero. Você também deve fazer isso na query:
 De # até 1500 = Ruim
 De 1501 até 4500 = Médio
 De 4501 até # = Bom

Nome da Query: QRY_05_ALUNO00 – Gêneros mais locados

Esse exercício é para utilizarmos: Exceções. Com esse recurso podemos realçar resultados

Vamos precisar da característica Gênero e também da keyfigure Qtd. de Títulos

220
Treinamento SAP-BW

Criamos então a Exceção. Acessar Exceções e utilizar o botão direito para criar:

Já na tela de exceções, criamos as regras necessárias:

2 3 4

221
Treinamento SAP-BW

Na guia “Definição” é onde informamos para qual Keyfigure, a exceção vai valer (Podemos escolher todas também).
Podemos definir em qual momento aplicar o “destaque” de cores, no exemplo, será aplicado após a agregação:

Na guia “Representação” vamos configurar o que será destacado: apenas as Keyfigures ou também as características
? Você pode ter uma exceção em uma Keyfigure, mas colorir/destacar uma outra:

222
Treinamento SAP-BW

Na guia “Restrições células” vamos configurar se a exceção será aplicada apenas nas linhas de resultado ou em tudo.
Aqui também podemos dizer que não vamos aplicar a exceção (destaque) para um determinado grupo de valores de
alguma característica.

No exemplo, para Gênero tipo “A”, não será aplicado (Isso é apenas ilustrativo, no resultado final do Exercício, deverá
ser aplicado a todos os gêneros de filmes).

223
Treinamento SAP-BW

O resultado final de sua query deve ser o seguinte (Não há nenhuma seleção):

Para eliminar o valor “Não atribuído” de seu resultado, basta fazer uma restrição na característica Gênero, excluindo
esse valor. Clique bom botão direito sobre o Infoobjeto e escolha Restringir. Arraste o valor “#” para a seleção e clique
no ícone vermelho, indicando a exclusão desse valor do resultado.

224
Treinamento SAP-BW

 06 - Qual gênero as mulheres mais locam


- Quanto representa cada gênero que as mulheres locam no total de locação feita por mulheres?

Nome da Query: QRY_06_ALUNO00 – Gêneros mais locado Mulheres

Em nossa área de Valores Propostos ou Restrição de características, vamos filtrar Sexo = FEMININO

225
Treinamento SAP-BW

Vamos agora criar uma formula chamada “% sobre o Total”. Isso é para responder a questão do negócio “Quanto
representa cada gênero em relação ao Total”

Para criar uma fórmula, clique com botão direto sobre os indicadores (área de Keyfigures) e escolha nova fórmula:

Defina o nome e clique em Processar:

Dentre as funções que temos, vamos utilizar “Parte porcentual do resultado”. Duplo clique na função e depois na
Keyfigure. O resultado está demonstrado na imagem a seguir (Clique em OK para voltar a definição da Query)

226
Treinamento SAP-BW

Finalmente, vamos apenas alterar o número de casas decimais para 2. Para isso, clique na nova Fórmula Criada “%
Total” e vá até a guia “Representação”

Chegamos com a informação solicitada na especificação:

Para conhecer outras funções, veja o documento PDF em seu material:

“Formula Operators in Business Information Warehouse for SAP BW.PDF”

227
Treinamento SAP-BW

 07 – Homens x Mulheres – Quantidade de locações


- Com a possibilidade de escolher uma range para o ano em tela de seleção

Nome da Query: QRY_07_ALUNO00 – Comparação entre Homens e Mulheres Qtd. Locações

Essa query é bem simples, é apenas uma comparação da quantidade de filmes locados por homens e mulheres.
Tendo como variável de intervalo o Ano. A dica fica por conta de como localizar uma variável adequada, porque muitas
vezes, ela já vai existir. Para isso, abra a hierarquia do Infoobjeto “Ano Civil” até “Variáveis”. Clicando em cada uma, na
parte direita do Query Designer você vê o tipo. Nesse caso, já existe uma variável do tipo Intervalo (Opcional). Vamos
utilizar essa:

Arraste para Restrições. Para ver o nome técnico utilize o botão com uma ferramenta em destaque na imagem abaixo:

228
Treinamento SAP-BW

Sua query deve ficar como a da imagem (Linhas e colunas):

O resultado de sua query para os anos de 2001 até 2010 deve ser esse:

229
Treinamento SAP-BW

 08 - Quantidade de vezes em que apenas efetuam compras, ou seja, um cliente entra, mas não aluga nada,
apenas faz compras de algum item. Quais são esses produtos?
- Com a possibilidade de escolher uma range para o ano em tela de seleção
- O usuário deseja navegar pelo dia da semana

Nome da Query: QRY_08_ALUNO00 – Quantidade de vezes em que nada foi locado

Esse exercício é um exemplo de que a pessoa que vai desenvolver o relatório precisa conhecer o Cubo, como está a
informação gravada nele, campos, etc. Assim ela consegue responder as questões.

Nesse caso, não podemos utilizar o Cubo para desenvolver a query. O resultado não será o correto. No Cubo a
informação já foi agregada no nível do Mês e perdemos a granularidade do Dia. Poderíamos ter evitado esse problema
ao utilizar uma Keyfigure a mais no Cubo: Um Contador.

Na transformação, da DSO para o Cubo, para a Keyfigure Contador, colocaríamos fixo “1”. Pronto, entrando 30
registros em um mês, teríamos o valor 30 agregado. Sempre que possível, é bom utilizar um contador em Cubos.

IMPORTANTE: A DSO, por padrão, já vem com um contador de registros, não é necessário acrescentar!!!

Problema para resolver na Query:

Como identificar que o cliente entrou na Locadora e comprou apenas produtos? Nós temos uma Keyfigure com a
Quantidade de Títulos e outra com a Quantidade de Itens. Essa última é quem vai nos dizer que o cliente comprou
algum produto (Temos outras opções também, por exemplo: Produto <> “Não atribuído” e Filme = “Não atribuído”).

Na solução, vamos utilizar uma Condição para Qtd. de Itens e filtrar o Infoobjeto Filmes = #.

Quais são esses produtos e o usuário quer navegar por dia da semana: Apenas Indica que devemos incluir para
navegação livre, os Infoobjetos “Dia da Semana” e “Produtos”

A visão geral de sua query será a seguinte:

Outra necessidade é o filtro por uma data, no caso o Ano é que foi solicitado. Mas, não temos o infoobjeto 0CALYEAR
na DSO, logo, vamos ter que utilizar 0CALDAY (Dia do Calendário). A variável 0P_DATE1 é uma boa opção, é um
Intervalo opcional.
230
Treinamento SAP-BW

Quem requisitou a Informação, não pediu para ver quantidade de itens, foi solicitada a quantidade de vezes que o fato
ocorreu. Então podemos “esconder” essa Keyfigure. Para isso, clicamos sobre ela e em Características (área do lado
direito do Query Designer) na guia “Representação” marcamos a opção “Ocultar (visualizável)”. Isso deixa a opção de o
usuário mostrar o valor após a execução da query (Como padrão, fica escondido)

231
Treinamento SAP-BW

Agora temos que criar a Condição:

Isso irá selecionar registros transacionais do tipo abaixo:

232
Treinamento SAP-BW

Agora, falta filtrarmos registros com código do Filme em branco (Chamado Não atribuído, ou #)

Com isso pegamos apenas registros em que o cliente entrou, comprou algo mas não alugou nenhum filme:

Também vou alterar a descrição da keyfigure número de registros para “Qtd. Vezes”

233
Treinamento SAP-BW

O resultado de sua query deve ser o seguinte (Sem restrição de Data):

Navegando por dia da semana:

Produtos de Terça-feira:

234
Treinamento SAP-BW

 09 - Qual o dia da semana que mais se loca filmes


- Permitir escolha do Ano em tela de seleção. Deve ser obrigatório e de valor único

Nome da Query: QRY_09_ALUNO00 – Dia da semana que mais de loca filmes

Agora podemos desenvolver no Cubo. Basta Utilizar a Keyfigure “Qtd. de Títulos” e o Dia da Semana na query. Vamos
utilizar um recurso chamado Lista de Ranking. Não podemos esquecer a variável de Ano obrigatória.

O formato básico da query deve ser o seguinte:

No filtro vamos utilizar a variável OP_CALYE (Que é obrigatória e de valor único)

235
Treinamento SAP-BW

Com apenas o que está aí, já teríamos acesso a informação, bastaria comparar as quantidades ou mesmo fazer uma
condição “TOP 1”.

Mas vamos utilizar algo chamado Lista de Ranking. Para isso, vamos duplicar a Keyfigure “Qtd. de Títulos”. Basta
movimentar a mesma keyfigure novamente ou através de CTRL+CLICK, arrastando o objeto para a estrutura de
Indicadores. Ao final você deve ter a seguinte visão:

Vamos alterar as propriedades dessa Keyfigure duplicada: Descrição, colocamos algo mais adequado.

E aplicar a lista de ranking, na guia Cálculos: Calcular valores individuais como....

236
Treinamento SAP-BW

O resultado final é esse, com a escolha do ano de 2012:

Depois de executar, é possível classificar, utilize o botão direito:

A linha de resultado também pode ser desabilitada, pois não faz sentido para a Keyfigure Ranking:

237
Treinamento SAP-BW

Para fazer isso, existe a opção também na guia Cálculos: Suprimir resultado

238
Treinamento SAP-BW

 10 - Valor total (Locações + Produtos por Estado e Regiões do Brasil (* Para região temos mais de uma
solução)
- Opção de filtro do Mês e Ano através de variável tipo range opcional.

Nome da Query: QRY_10_ALUNO00 – Valor total por Região

Região Norte
Amazonas (AM) = Manaus
Roraima (RR) = Boa Vista
Amapá (AP) = Macapá
Pará (PA) = Belém
Tocantins (TO) = Palmas
Rondônia (RO) = Porto Velho
Acre (AC) = Rio Branco

Região Nordeste
Maranhão (MA) = São Luiz
Piauí (PI) = Teresina
Ceará (CE) = Fortaleza
Rio Grande do Norte (RN) = Natal
Pernambuco (PE) = Recife
Paraíba (PB) = João Pessoa
Sergipe (SE) = Aracaju
Alagoas (AL) = Maceió
Bahia (BA) = Salvador

Região Centro-Oeste
Mato Grosso (MT) = Cuiabá
Mato Grosso do Sul (MS) = Campo Grande
Goiás (GO) = Goiânia

Região Sudeste
São Paulo (SP) = São Paulo
Rio de Janeiro (RJ) = Rio de Janeiro
Espírito Santo (ES) = Vitória
Minas Gerais (MG) = Belo Horizonte

Região Sul
Paraná (PR) = Curitiba
Rio Grande do Sul (RS) = Porto Alegre
Santa Catarina (SC) = Florianópolis

239
Treinamento SAP-BW

A query em si não é complicada, precisamos do objeto Estado (CA_UFXX) e da Keyfigure “Valor Total” (Calculada no
momento da carga para o Cubo). Para o filtro, vamos utilizar o objeto 0CALMONTH (Ano/Mês) com uma variável de
intervalo opcional.

A idéia aqui é entender a utilização de Estruturas na Query e como ativar uma hierarquia que existe para um Infoobjeto.

Para o filtro de período, vamos utilizar a seguinte Variável: 0I_CMNTH (Intervalo opcional, como solicitado)

240
Treinamento SAP-BW

O infoobjeto “Estado” já possui uma hierarquia por regiões. Portanto, podemos apenas ativar sua utilização na query
em Características (Veja em seu guia de referência Criando hierarquias manualmente no BW). Para ativar, selecione o
Infoobjeto e vá à guia “Hierarquia”. Clique no botão em destaque para selecionar a hierarquia. Você pode utilizar até
uma variável para permitir que visão o usuário deseja escolher:

O ícone do Infoobjeto Estado também é alterado, indicando que a hierarquia está ativa. O usuário pode desativar, caso
queira, após a execução da query.

O resultado da query dessa forma é esse, sem seleção de período:

241
Treinamento SAP-BW

E a outra opção é criar a Estrutura na query e alinhar os Estados em suas Regiões, no final o resultado é o mesmo. O
trabalho é um pouco maior. A primeira parte é criamos uma nova Estrutura para as linhas (Utilize o botão direito para
isso). Mude a descrição para Regiões:

Agora, arraste todos os valores de Estado para “Regiões”:

242
Treinamento SAP-BW

Você vai ficar com todos os Estados, faltando agora classificá-los por Região:

Para agrupar em Regiões, vamos utilizar Fórmulas. Clique com Botão direito em Regiões e escolha “Fórmula Nova”:
Depois em Processar:

243
Treinamento SAP-BW

Nessa fórmula, altere a Descrição para que represente uma das Regiões. No cálculo, faça a soma dos Estados da
Região em questão (Você deve fazer esse procedimento para cada uma das Regiões):

De volta a query, precisamos apenas alinhar os Estados nas suas Regiões (Que simulamos hierarquicamente através
de fórmulas). Faça utilizando CTRL+CLICK e depois arrastando para cima do nó que irá agrupá-los:

Veja na imagem que a hierarquia está se formando.

244
Treinamento SAP-BW

 11 – Quais os gêneros de filmes que os maiores de 50 anos alugam


- Permitir escolha do Ano em tela de seleção. Deve ser obrigatório e de valor único

Nome da Query: QRY_11_ALUNO00 – Maiores de 50 anos

Para a restrição do ano, podemos utilizar a mesma variável do exercício “9”.

A principal idéia do exercício e mostrar outros tipos de restrições, com utilização de “>”, “<=”, “<>”, etc.

No caso, vamos ter que restringir a idade dos clientes maiores de 50 anos. O atributo de navegação Idade, deve estar
presente na query em filtro. Clique com botão direito e escolha Restringir:

Veja que em restrições, temos a opção não somente de valores individuais ou variáveis, podemos escolher “Área de
valores”, que vai permitir fazer comparações do tipo que precisamos:

245
Treinamento SAP-BW

No mais, sua query vai precisar apenas do Gênero e da Quantidade de Títulos:

Para o ano de 2011, esse deverá ser o resultado (Lembre-se, você pode ordenar o resultado em ordem decrescente
como abaixo):

246
Treinamento SAP-BW

 12 - Filmes que nunca foram locados

Nome da Query: QRY_12_ALUNO00 – Filmes nunca locados

Esse exercício envolve a utilização de um Infoset ou de um Multiprovider. Com esses objetos você consegue unir mais
de um Infoprovider e analisar os dados de ambos.

No exemplo, vamos criar uma query sobre um Infoset que possui o Infoobjeto CA_FILMXX e a DSO de dados
transacionais (Locações) OD_INSXX.

O nome do Infoset é: ZIS_ALXX (Veja como criar em seu guia de referência). Se preferir, você pode utilizar um
Multiprovider. No final o resultado será o mesmo.

As informações básicas são as seguintes: Filme (Comum nos dois objetos), Preço de aquisição (CA_FILMXX) e Valor
dos Títulos (DSO, dado transacional)

247
Treinamento SAP-BW

Sem criar nenhuma condição, vemos que em vários registros, aparecem apenas valores para o Preço de Aquisição
(Que vem do dado mestre).

Esses que não possuem correspondente em “Valor dos títulos” nunca foram locados e não estão na DSO ou
Cubo.

Com uma Condição, selecionamos apenas os Filmes que nunca foram locados (Valor de título igual a zero).

Vamos excluir também o valor de Não atribuído (#). Todo objeto tem um registro como # no BW:

248
Treinamento SAP-BW

No resultado final, teremos um total de 35 filmes que nunca foram locados (Alguns abaixo):

Para verificar, podemos tentar localizar no Infoprovider ou na DSO os filmes aqui relacionados. Eles não devem
aparecer lá.

Para desenvolvimento sem a solução passo-a-passo:

 13 - Comparação da venda de Produtos no ano de 2011 entre BW Vídeo e a sua maior Concorrente. Visão padrão
com Produtos na Linha e as locadoras nas colunas. Calcular a diferença entre as duas empresas em um terceira
coluna

249
AVALIAÇÃO FINAL DE TREINAMENTO
---- DESTACAR ESTA FOLHA E ENTREGAR AO INSTRUTOR ----

Data:

NOME:
CURSO:

INSTRUTOR:

AVALIAÇÃO FINAL DE TREINAMENTO

Marque com um X na lacuna ao lado da figura na opção desejada.


Conteúdo Programático do Curso   ☺
Tempo de Realização do Curso   ☺
Referência Final ao Treinamento   ☺
Material Didático   ☺
Didática Instrutor   ☺
Conhecimento Técnico do Instrutor   ☺
Instalações Físicas (Mesa, Cadeira, Quadro, Projetor, Computador)   ☺
Atendimento Comercial e Administrativo   ☺
Conteúdo, Material Adicional e Informações no site da Trainning   ☺

COMENTÁRIOS
Espaço livre para comentários, críticas e sugestões sobre o treinamento realizado.

INDICAÇÕES
Indique 1 amigo e Ganhe Desconto no próximo treinamento.

 REGULAR

 SATISFATÓRIO

☺ ÓTIMO

Trainning Education Services ® - Sede: Av. Paulista, 777, 15° andar – SP


São Paulo (11) 3323-1676 - Rio de Janeiro (21) 4063-6518 - Brasília (61) 4063-7766 - Belo Horizonte (31) 4063-8187
Vitória (27) 4062-9192 - Curitiba (41) 4063-8083 - Porto Alegre (51) 4063-9474 - Recife (81) 3301-1600 - Salvador (71) 4062-9323
www.trainning.com.br - comercial@trainning.com.br

También podría gustarte