Baixe o app para aproveitar ainda mais
Prévia do material em texto
BBBUUUSSSIIINNNEEESSSSSS IIINNNFFFOOORRRMMMAAATTTIIIOOONNN WWWAAARRREEEHHHOOOUUUSSSEEE SSSAAAPPP---BBBWWW GUIA DE REFERÊNCIA Treinamento SAP-BW 2 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 Planejamento – BI-IP (Integrated Planning) ............................................................................................................... 117 Agregados .................................................................................................................................................................... 135 Administração de Infoproviders ................................................................................................................................... 138 Treinamento SAP-BW 3 Process Chain – Automatização de Cargas ................................................................................................................... 142 Reporting - Query Designer .......................................................................................................................................... 154 Reporting - Restrições .................................................................................................................................................. 157 Reporting - Variáveis .................................................................................................................................................... 159 Reporting - Variáveis – Exit de cliente (Documento SAP How to...) ............................................................................. 162 Reporting – Condições.................................................................................................................................................. 171 Reporting – Exceções ................................................................................................................................................... 173 Reporting – Fórmulas .................................................................................................................................................. 177 Reporting – Keyfigure Calculada / Restrita .................................................................................................................. 180 Reporting – Estruturas .................................................................................................................................................181 Reporting – Definição de células .................................................................................................................................. 182 Reporting – Navegação Web ......................................................................................................................................... 183 Reporting – Analyzer (Frontend é o Excel) .................................................................................................................. 184 Reporting – Analyzer (Visões) ...................................................................................................................................... 186 Reporting – Analyzer (Modo Design) ........................................................................................................................... 187 Reporting – WAD (Web Application designer) ............................................................................................................. 190 Algumas dicas em Geral ............................................................................................................................................... 198 Saltos de Queries (RSBBS) ........................................................................................................................................... 199 Open Hub ..................................................................................................................................................................... 200 Infospokes (Versão 3.x) ................................................................................................................................................ 202 Visão geral do processo de carga da versão 3.X (e anterior) ......................................................................................... 205 Treinamento SAP-BW 4 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) Treinamento SAP-BW 5 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. Treinamento SAP-BW 6 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). Treinamento SAP-BW 7 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 Treinamento SAP-BW 8 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” (Comocampos 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. Treinamento SAP-BW 9 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) Treinamento SAP-BW 10 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. Treinamento SAP-BW 11 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. Treinamento SAP-BW 12 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. Treinamento SAP-BW 13 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. Treinamento SAP-BW 14 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. Treinamento SAP-BW 15 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: Treinamento SAP-BW 16 Isso vai gerar muitas páginas HTML com links entre si, é como uma versão off-line do que você tem em seu ambiente: Treinamento SAP-BW 17 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: Treinamento SAP-BW 18 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: Treinamento SAP-BW 19 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: Treinamento SAP-BW 20 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. Treinamento SAP-BW 21 Criação de Infoobjetos Treinamento SAP-BW 22 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. Treinamento SAP-BW 23 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) Treinamento SAP-BW 24 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. Treinamento SAP-BW 25 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) Treinamento SAP-BW 26 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. Treinamento SAP-BW 27 Veja na imagem abaixo, um exemplo de utilização de hierarquias. Isso pode ou não ser ativado na execução de um report: Treinamento SAP-BW 28 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. Treinamento SAP-BW 29 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. Treinamento SAP-BW 30 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. Treinamento SAP-BW 31 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: Treinamento SAP-BW 32 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): Treinamento SAP-BW 33 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) Treinamento SAP-BW 34 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. Treinamento SAP-BW 35 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. Treinamento SAP-BW 36 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: Treinamento SAP-BW 37 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 “AtualizarHierarquia” 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: Treinamento SAP-BW 38 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: Treinamento SAP-BW 39 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: Treinamento SAP-BW 40 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. Treinamento SAP-BW 41 É 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. Treinamento SAP-BW 42 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 Treinamento SAP-BW 43 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: Treinamento SAP-BW 44 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. Treinamento SAP-BW 45 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: Treinamento SAP-BW 46 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. Treinamento SAP-BW 47 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). Treinamento SAP-BW 48 Nessas transações, você pode ver o conteúdo dessas tabelas: E a quantidade de registros também: Treinamento SAP-BW 49 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. 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: DIM-ID Clientes DIM-ID Produtos SID Documentos Quantidade Valor Cliente Forma Pagto Banco Material Grupo Planta Produtos Clientes Fatura (Line Item) Documentos DIM-ID Clientes DIM-ID Produtos SID Documentos Quantidade Valor Cliente Forma Pagto Banco Material Grupo Planta Produtos Clientes Fatura (Line Item) Documentos SIDMaterial Infoobjeto Material SID Grupo Infoobjeto Grupo Treinamento SAP-BW 50 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: Treinamento SAP-BW 51 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) Treinamento SAP-BW 52 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): Treinamento SAP-BW 53 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ê pode acrescentar o infoobjeto Standard 0RECORDMODE eu 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”. Treinamento SAP-BW 54 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: Treinamento SAP-BW 55 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. Treinamento SAP-BW 56 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. Treinamento SAP-BW 57 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_CONFIL. Isso não é problema, tem que ter apenas o mesmo formato: Para criação, na RSA1 na guia de Infoproviders. Clique com botão direito em uma Infoarea e escolha “Criar Multiprovider” Treinamento SAP-BW 58 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” Treinamento SAP-BW 59 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): Treinamento SAP-BW 60 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): Treinamento SAP-BW 61 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. TreinamentoSAP-BW 62 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: Treinamento SAP-BW 63 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. Treinamento SAP-BW 64 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”) Treinamento SAP-BW 65 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: Treinamento SAP-BW 66 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: Treinamento SAP-BW 67 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. 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 CADASTRADOS FILMES QUE FORAM LOCADOS E ESTÃO NO CUBO/DSO FILMES CADASTRADOS FILMES QUE FORAM LOCADOS E ESTÃO NO CUBO/DSO Treinamento SAP-BW 68 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: Treinamento SAP-BW 69 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. Treinamento SAP-BW 70 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: Treinamento SAP-BW 71 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: Treinamento SAP-BW 72 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: Treinamento SAP-BW 73 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: Treinamento SAP-BW 74 Resultado: Compare com a informação do Arquivo texto: Treinamento SAP-BW 75 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. Treinamento SAP-BW 76 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. Treinamento SAP-BW 77 Criação do datasource a partir de um arquivo texto Transação RSA1, na guia Datasources, altere para osource 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: Treinamento SAP-BW 78 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: Treinamento SAP-BW 79 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. Treinamento SAP-BW 80 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”): Treinamento SAP-BW 81 Em previsão, praticamente para verificar os dados. Ative e está pronto seu datasource via arquivo texto (Flat-File). Treinamento SAP-BW 82 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: Treinamento SAP-BW 83 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. Treinamento SAP-BW 84 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. Treinamento SAP-BW 85 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. Treinamento SAP-BW 86 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. Treinamento SAP-BW 87 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: Treinamento SAP-BW 88 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. Treinamento SAP-BW 89 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 Treinamento SAP-BW 90 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: Treinamento SAP-BW 91 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. Treinamento SAP-BW 92 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). Treinamento SAP-BW 93 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. Treinamento SAP-BW 94 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: Treinamento SAP-BW 95 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. Treinamento SAP-BW 96 Basta então executar a DTP para finalizar o processo. Veja todas as formas de execução: Treinamento SAP-BW 97 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: Treinamento SAP-BW 98 Tudo dever estar ok, para sucesso, veja abaixo a imagem do monitor: Alguns atalhos do Monitor: Se você criou um procedimento para tratar erros Ver o Target PSA Esse botão irá apresentar o job executado no processo Treinamento SAP-BW 99 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: Treinamento SAP-BW 100 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. Treinamento SAP-BW 101 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” Treinamento SAP-BW 102 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 Treinamento SAP-BW 103 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: Treinamento SAP-BW 104 Um modelo bastante comum: DSO -> CUBO. Clique com botão direito sobre o cubo e veja Fluxo de Dados graficamente: Treinamento SAP-BW 105 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). Treinamento SAP-BW 106 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 !! Treinamento SAP-BW 107 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
Compartilhar