Baixe o app para aproveitar ainda mais
Prévia do material em texto
Treinamento ABAP Funcionais e Basis Outubro / Novembro / Dezembro de 2008 * * Introdução mySAP ERP Dicionário de Dados Mensagens Tipos de Objetos (Programas) Entrada de dados no mySAP ERP Enhancements (Pontos de Alteração nos programas Standards) Workflow Dicas Como preencher Especificação Atenção com a Metodologia de Desenvolvimento Diversos Transações Úteis Principais tabelas do mySAP ERP por módulo Treinamento ABAP - Funcionais e Basis Agenda * Introdução * O objetivo desse treinamento é fornecer os conceitos básicos do mySAP ERP e ABAP para o auxilio no desenvolvimento das especificações funcionais e dicas para o seu dia-a-dia. Treinamento ABAP - Funcionais e Basis Introdução * mySAP ERP * Instâncias Client ou Mandante Change-Request Liberar e Transportar Request Resumo Geral Treinamento ABAP - Funcionais e Basis Agenda * Instâncias Entende-se por instância uma instalação de um sistema mySAP ERP Desenvolvimento Qualidade Produção Client ou Mandante Cada instância subdivide-se em mandantes (o mesmo que client). Um exemplo prático da utilização de mandantes acontece no ambiente de desenvolvimento. Trabalha-se sempre com pelo menos dois mandantes. No primeiro são feitas as configurações, mas não temos dados pertinentes ao negócio. A isto chamamos “client aberto”. No segundo temos os dados, mas não temos abertura para fazer alterações. A isto chamamos “client fechado”. Change-Request Liberar e Transportar Request SE09 - Ordem de Workbench (ABAP) SE10 - Ordem de Customizing (Funcional) Treinamento ABAP - Funcionais e Basis mySAP ERP * Resumo O sistema mySAP ERP trabalha com múltiplas instâncias e mandantes. Para se efetuar uma customização no sistema mySAP ERP, os passos são os seguintes: cria-se uma change-request no ambiente (instância) de desenvolvimento; desenvolvedores efetuam alterações e atribuem à request; após a liberação de todas as tarefas libera-se a request para transporte; o responsável pede ao profissional de basis que transporte a request para o ambiente de qualidade; Valida-se a alteração contra os dados consistentes do ambiente de QA; Caso não se consiga atingir os objetivos, volta-se ao passo 1, e ficamos com duas requests referentes à alteração/desenvolvimento. atingindo o objetivo esperado, solicita-se ao profissional de basis novo transporte, desta vez para o ambiente de produção. Treinamento ABAP - Funcionais e Basis mySAP ERP * Dicionário de Dados * O dicionário de dados do mySAP ERP envolve tudo o que se refere aos dados e tipos de dados. Tabela Transparente Visão Estruturas Campos Chave ATENÇÃO: Não é aconselhado o acesso às tabelas sem os campos chaves, pois teremos uma grande perda de desempenho. Índices Tipos de dados Domínios, Elementos de Dados, Campos, Tabelas e Registros Treinamento ABAP - Funcionais e Basis Dicionário de Dados * O dicionário de dados do mySAP ERP envolve tudo o que se refere aos dados e tipos de dados. Tabela Transparente Domínio Elementos de Dado Campo Tabela Registro Visão Duas ou mais tabelas transparentes podem ser unidas compondo uma visão. Visões integram as tabelas e permitem um melhor acesso aos seus conteúdos. Externamente, uma visão tem o mesmo comportamento de uma tabela transparente. Podendo ser visualizada nas transações SE11 e SE16. Treinamento ABAP - Funcionais e Basis Dicionário de Dados * Estrutura Muitas vezes confundidas com tabelas transparentes, as estruturas são utilizadas como base para outros objetos que contenham dados, mas a estrutura em si não contém dados. Uma estrutura se assemelha muito a uma tabela transparente por ter o mesmo formato (uma série ordenada de campos), mas a diferença é que as tabelas contêm dados, enquanto a estrutura não. Uma estrutura pode ser criada para servir como formato para campos estruturados em tabelas, parâmetros, outras estruturas, tabelas internas ou variáveis em programas ABAP, etc. Campos Chave Compreendem-se por campos chave aqueles que identificam um registro na tabela, ou seja, são eles que garantem a unicidade dos dados. Ex.: Para acessar um registro de cliente (tabela transparente KNA1) é necessário fornecer sua chave que é o código do cliente (campo KUNNR). Uma característica importante é que tecnicamente você pode ter dois clientes com o mesmo nome (que não é chave), mas não pode ter dois clientes com o mesmo código (que é chave). Treinamento ABAP - Funcionais e Basis Dicionário de Dados * ATENÇÃO: Não é aconselhado o acesso às tabelas sem os campos chaves, pois teremos uma grande perda de desempenho. Índices São “ponteiros” criados para agilizar o acesso aos dados das tabelas sem a utilização dos campos chaves. Tipos de dados Treinamento ABAP - Funcionais e Basis Dicionário de Dados * Mensagens * Classe de Mensagem Uma classe de mensagem é um “pacote” que contem diversas mensagens, geralmente do mesmo processo ou modulo. Tipos de Mensagens Treinamento ABAP - Funcionais e Basis Mensagens * Tipos de Objetos (Programas) * O ABAP é a linguagem de programação nativa do mySAP ERP, ou seja, a maioria das funcionalidades standard´s e as novas funcionalidades são desenvolvidas em ABAP. A linguagem ABAP foi desenvolvida pela SAP e é utilizada apenas dentro do mySAP ERP, ou seja, é uma linguagem proprietária. Report Transação: SE38 ou SE80 Parameter Select-Options Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Report Transação: SE38 ou SE80 Parameter Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Select-Options Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Relatório ALV E um tipo de relatório, mas gráfico que o report convencional e possui diversas funcionalidades para interação dos usuários como, Ordenar colunas, realizar totais e subtotais, incluir e excluir campos visíveis, exportar para planilha excel, entre outras. Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Includes São programa não executáveis que contem rotinas ABAP que podem ser utilizadas por outros programas. Module Pool (Tela) Transação: SE80 Nesta categoria se enquadram aplicações que normalmente chamamos de “telas”. Permitem uma maior interação com o usuário. Podem também ser chamados de programas “On-line”. Um exemplo de module-pool é a transação MM01 (Mestre de Materiais), onde se pode incluir no sistema os dados de um material. Pode-se utilizar nesses programas toda uma diversidade de componentes que dão um formato amigável à transação. Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Sapscript Transação SE71 O Sapscript pode ser visto como uma evolução do report. Conta com uma interface mais requintada, elementos gráficos, vários fontes, etc. Tem como base um programa do tipo report, que o provê com as informações a serem apresentadas, o SapScript só trabalha com parte visual do relatório. SmartForms Transação Formulário: smartforms / Tabulações: smartstyles O SmartForms pode ser visto como uma evolução do Sapscript. Conta com uma interface técnica e com facilitadores para o desenvolvedor, podendo também fazer impressão colorida de letras, linhas e fundos. Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Módulo de Função Transação SE37 É um Módulo de programa parametrizável e reutilizável. Muito útil para rotinas que podem ser usadas em vários pontos do sistema. Query São relatórios que o próprio usuário pode montar através das transações SQ.., fazendo uso de visões, banco de dados lógico, tabelas transparentes ou programas ABAP como fonte de dados. Existe um controle de acesso por grupo de usuários. É necessário cuidado com as queries, pois se elaboradas sem o devido cuidado podem acabar se tornando processamentos muito pesados gerando quedas de performance no servidor. Treinamento ABAP - Funcionais e Basis Tipos de Objetos (Programas) * Entrada de Dados mySAPERP * Call Transaction É um mecanismo que permite a entrada automática de dados nas telas do mySAP ERP. Desta forma garante-se a integridade das informações, pois elas passam pelas mesmas validações que seriam feitas se um usuário as estivesse digitando. Uma utilização muito comum é fazer com que o processamento de uma transação dispare um processamento automático em outra transação. O segundo processamento fica automatizado, e será executado de forma transparente ao usuário. É como se ele mesmo tivesse digitado as informações. Batch Input Segue o mesmo princípio do call transaction, porém é feito em batch. Geralmente é utilizado para carga de dados e utilizado em ambiente & implantação. Funciona da seguinte maneira: um programa (geralmente tipo report) gera várias entradas de call transaction que ficam armazenadas em uma pasta de batch-input. Essa pasta pode ser processada posteriormente no momento oportuno na transação SM35. Esse processamento conta com vários mecanismos para tornar a carga mais consistente. Treinamento ABAP - Funcionais e Basis Entrada de dados no mySAP ERP * Idoc É uma forma de comunicação entre sistemas baseada na arquitetura ALE. Consiste na troca de documentos eletrônicos baseados em layout pré-definidos. Geralmente utilizado para integrarem diferentes instancias de MYSAP ERP. Ex.: A instancia A emite um pedido de compra para a instância B. Um IDOC é enviado da instancia A para a instancia B. Ao receber o IDOC a instancia B gera automaticamente um documento de vendas para a instancia A. Essa comunicação pode ser feita também com sistemas não mySAP ERP. BAPI - Businness Application Program Interface Transação BAPI Consiste em uma função que representa determinada ação no sistema. Ex.: Criar um material. As BAPI's foram desenvolvidas pela SAP para permitir que sistemas externos possam se comunicar com o mySAP ERP. No entanto elas podem ser usadas também internamente. Alterando informações via BAPI garantimos a integridade relacional sem os problemas de performance do Call Transaction. Treinamento ABAP - Funcionais e Basis Entrada de dados no mySAP ERP * CATT - Computer Aided Test Tool Transação eCATT É uma ferramenta que tem como objetivo agilizar o processo de testes de transações. Isso é feito gerando uma gravação correspondente ao preenchimento dos dados que se faz na transação. A cada vez que se for testar a transação executa-se essa gravação, que faz o teste automaticamente. Algumas vezes pode ser usa como ferramenta para carga de dados, pois permite que a origem dos dados inseridos na transação seja externa. Difere do batch-input por não dispor de recursos de programação (ex. converter algum campo). LSMW Legacy System Management Workbench Transação: LSMW O LSMW é uma ferramenta para suporte de migração de dados dos sistemas não SAP — também conhecidos como Sistemas de Legado (ES) — para o mySAP ERP. Normalmente tem o mesmo tipo de aplicação do batch-input, mas trata-se de uma ferramenta mais moderna. Treinamento ABAP - Funcionais e Basis Entrada de dados no mySAP ERP * Enhancements * User-Exit Transações: CMOD – Projetos SMOD – Ampliações As vezes é necessário alterar em nível de programa alguma funcionalidade de uma transação standard. Não é possível alterar diretamente o programa standard. Para resolver este problema a SAP deixou algumas “funções” no programa standard, em pontos estratégicos, de modo que o desenvolvedor consegue colocar código ABAP Z trabalhando junto com o código standard. Essas “funções” são as user-exits. Para localizar um User-Exit acesse a transação SE16 com a visão INFO_MODS. Treinamento ABAP - Funcionais e Basis Enhancements * Field-Exit Já para as field-exits não existe esse tipo de restrição. Temos field-exits para qualquer campo que apareça na tela. O funcionamento é muito semelhante. A diferença é que o código anexado à field-exit tem efeito apenas no contexto do próprio campo e programa relacionado. É normalmente utilizado para validações, gerando mensagens de erro de acordo com o valor digitado. Treinamento ABAP - Funcionais e Basis Enhancements CMOD * BADI - Business Add-lns Transação: BADI BADI é uma técnica de enhancement baseada em ABAP Objecs. É muito Semelhante a uma user-exit, porém às vezes existe um código standard na BADI, que pode ser alterado se necessário. A diferença básica entre BADI e user-exit é que a BADI pode ser implementada em Diferentes níveis. Treinamento ABAP - Funcionais e Basis Enhancements * WorkFlow * Principais Transações: SWO1 - Business Object Builder PFTC - Atualização de tarefas geral Permite integrar processos através de um mecanismo de envio de mensagens. Ex.: Determinado documento precisa ser preenchido por duas pessoas em Departamentos diferentes e depois passar pela aprovação de três gerentes. Construímos um workflow de modo que quando a primeira pessoa termina sua parte no trabalho é disparada automaticamente uma mensagem para a segunda pessoa e assim por diante, até que a cadeia seja concluída pelo último gerente. Treinamento ABAP - Funcionais e Basis WorkFlow * Dicas * Para ver o funcionamento interno de um programa ABAP ou transação basta digitar “/h” no campo de comando . A interface entra em modo de debugging onde o usuário pode processar o programa linha a linha tecle (F5) ou por bloco tecle (F6) observando seu funcionamento interno. Para voltar ao objeto anterior tecle (F7) e para sair do modo de debugging e voltar ao modo normal de execução basta teclar F8 ou Treinamento ABAP - Funcionais e Basis Dicas – Como Debugar * Campos Tabelas Pontos de Paradas Watchpoints Chamadas Áreas do sistema Treinamento ABAP - Funcionais e Basis Dicas – Como Debugar * Evento usado para localizar onde o objeto (campos, tabelas, programas, transações, etc). Treinamento ABAP - Funcionais e Basis Dicas – Lista de Utilizações * É comum quando se faz uma especificação querer, por exemplo, em algum relatório que apareça um campo que o usuário vê em alguma tela standard. Para descobrir qual é esse campo nas tabelas do mySAP ERP basta chamar o help via F1 e teclar no botão “informação Técnica”. Neste ponto duas coisas podem acontecer: Pode ser que o campo seja referente a uma tabela transparente. Neste caso é bastante simples para o programador buscar a informação. Pode ser que o campo seja referente a uma estrutura. Neste caso ele é resultado do processamento feito no programa. Para identificar a origem de seu conteúdo é necessário debugging. Treinamento ABAP - Funcionais e Basis Dicas – Ver nome e tipo de campo * Treinamento ABAP - Funcionais e Basis Dicas – Como obter o nome do programa de uma transação * Treinamento ABAP - Funcionais e Basis Dicas – Mapear transações - SHDB Quando for especificar algo que envolva call-transaction/batch-input é muito útil gerar um registro SHDB que exemplifique o preenchimento dos campos nas telas da transação em questão. É com base nesse registro que o programador fará a automação necessária. Pode ser feito na transação SHDB. * Na execução de reports ou transações com tela de seleção certas vezes se torna repetitivo o preenchimento dos parâmetros de seleção. E possível gravar os parâmetros na forma de uma variante, de modo que não seja necessário preencher sempre as mesmas informações. Para isso basta clicar no botão SALVAR na tela de seleção e preencher as informações necessárias. Treinamento ABAP - Funcionais e Basis Dicas – Cria Variantes de Tela * Como preencher especificação * As especificações têm basicamente duas funções. Uma é servir como documento de entendimento, aprovação e base para o desenvolvimento, o outro é ficar como documentação para o cliente. Dividem-se em duas partes principais: funcional e técnica. Geralmente, para facilitar o manuseio, temos a parte funcional e a técnica num mesmo documento. Treinamento ABAP - Funcionais e Basis Dicas – Como preencher especificação* Funcional A especificação funcional deve descrever do ponto de vista funcional a alteração a ser feita no sistema. Servirá de base para a criação da especificação técnica. - Explica quais os processos envolvidos e como eles se inter-relacionam. - Identifica qual a origem e qual o destino dos dados no processamento. É importante que se esclareça ao máximo o processo no nível funcional, mas no é necessário no nível técnico. ATENÇÃO: é de suma importância o funcional fornecer uma massa de dados para internos, pois esses testes reduzem em 80% as horas de retrabalho dos programadores e reduzem o tempo gasto para testes do próprio funcional. Treinamento ABAP - Funcionais e Basis Dicas – Como preencher especificação * Técnica Com base na especificação funcional, o consultor ABAP descreve na especificação Técnica como a alteração será implementada no nível técnico(programa). Exemplo: - A especificação funcional pede um relatório das ordens de venda. - A especificação técnica descreve a solução técnica elaborada para atender a solicitação: com base nas tabelas VBAK e VBAP, com interface tipo ALV, etc. Aqui é importante que haja um grande nível de detalhamento, mas sem entrar no âmbito da programação de fato, onde existem outras questões a resolver. Treinamento ABAP - Funcionais e Basis Dicas – Como preencher especificação * Ao iniciar um projeto, em qualquer cliente, devemos nos atentar na existência de uma metodologia de desenvolvimento, onde indica todos os padrões e nomenclaturas a serem utilizadas na manutenção/desenvolvimento dos objetos em seu ambiente. Abaixo alguns itens que dependem da metodologia: Nomes dos objetos como classe de desenvolvimento, tabelas, programas ou transações. - Descrições da request´s. - Documentações (especificações funcionais e técnicas). Treinamento ABAP - Funcionais e Basis Dicas – Atenção com a Metodologia de Desenvolvimento * Classe de Desenvolvimento Grupo de Autorização Autorithy Check Ativação de Objeto Atenção com a senha ao executar o Login Transações úteis SE03 – Ferramentas de Transport Organizer SE30 – Análise tempo execução objetos ABAP SE80 – Object Navigator SE84 – Object Navigator ST04 – Peformance Analysis ST22 – ABAP análise dump SU21 – Atualizar objetos de autorização SU53 – Avaliação da verificação autorização Principais tabelas do mySAP ERP por módulo Treinamento ABAP - Funcionais e Basis Dicas – Diversos CO/FI BKPF COSP BSAD CSKS BSAK CSKT BSAS GLT0 BSID GLT1 BSIK SKA1 BSEG BSIS COBK COEP SD J1_BBRANCH VTTK VBKA J1_BNFDOC VTTP VBKD J1_BNFLIN KONV VBUK LIKP KONP VBUP LIPS KOMV VBAK KONH VBAP VBPA VBFA VBBE VBRK VBBS VBRP VBEP MM MARA MVKE EKET MAKT MCH1 EKKN MARM MCHA EKAB MARC MCHB EKBE MARD LFA1 EKBZ MAST LFB1 MKPF MBEW EBAN MSEG MLGN EBKN RESB MLGT EKKO RSEG EBEW EKPO NAST
Compartilhar