# SAP ERP

SAP ERP (até 2003 SAP/R3, até 2007 mySAP ERP) é um sistema integrado de gestão empresarial (ERP) transacional, produto principal da SAP AG, uma empresa alemã, líder no segmento de software corporativos, tendo cerca de 86 mil clientes, segundo a própria SAP, em todo mundo, dentre a grande maioria empresas de grande porte.
O sistema procura contemplar a empresa como um todo, dividindo módulos, onde cada módulo corresponde a uma área especifica, como por exemplo, o módulo SD (Sales and Distribution) que contempla a área de Vendas e Distribuição, fazendo a integração das informações para determinado processo. Cada programa é executado através de uma transação separadamente. Estes programas são desenvolvidos em ABAP, uma linguagem de programação da qual a SAP detém os direitos.
Cada módulo é responsável por mais mil processos de negócios, baseado em práticas do dia a dia de cada empresa. O sistema é configurado para atender a necessidade de cada determinado processo, onde mais de 8 mil tabelas administram em tempo real as informações que trafegam pela empresa. Seus métodos de trabalho são bastante conhecidos por disponibilizar conforto e eficiência ao relacionar programas da mais alta tecnologia e desenvolver programas capazes de solucionar os mais variados tipos de tarefas.

## Evolução

O primeiro produto importante da SAP foi R/2, que até então era um conjunto de módulos voltado para mainframes, até que em 1995 foram apresentados as primeiras aplicações do R/3, que ao contrario do seu antecessor, era voltado para o ambiente Cliente-servidor, sendo assim, não uma versão nova do R/2, mas sim um sistema diferente.

## Estrutura

Um sistema SAP R/3 é composto por três camadas:
* Frontend
* Application
* Database
Frontend é camada responsável por "exibir" as telas ao usuário.
Application é onde são processadas as operações efetuadas, transferindo para o Frontend, os dados a serem exibidos. É nessa camada que os programas ABAP são executados.
A camada de Application possui diversos serviços e processos (também chamados de Work Process) disponíveis.
O desenho típico de uma instância SAP é um servidor de Banco de Dados com um ou mais servidores de Application. Isso garante a integridade dos dados, e permite uma distribuição de carga nos servidores de aplicativo entre os usuários.

### Work Process

* Message: Serviço interno responsável pela comunicação entre as instâncias.
* Dispatcher: Serviço interno responsável pelo "despacho" das requisições para cada processo ou serviço.
* Gateway: Garante a comunicação externa com outros sistemas.
* Enqueue: Processo responsável pelo gerenciamento da tabela de objetos de bloqueio.
* Dialog: Processo responsável pela execução dos processos visíveis pelo usuário.
* Background: Processo responsável pela execução dos processos escalonados e/ou necessários de grande poder de processamento.
* Update: Processo responsável pela atualização dos dados no banco de dados.
* Spool: Processo que gerencia a fila de impressão.
Database, é a camada onde os dados são armazenados, quando a camada Application necessita de algum dado, o mesmo é requisitado a camada de Database.

## Dicionário de Dados

O Dicionário de Dados no R/3 é uma abstração de um (SGBD) Sistema de Gerenciamento Banco de Dados, e permite um gerenciamento centralizado de todas as definições de dados. Nele você pode criar todos os tipos de dados, para uso em programas ABAP ou em interfaces de módulos de função.

### Tipos Básicos

Open Source

### Domínios

* O Domínio descreve a característica dos valores de determinado tipo, definindo seu tipo de dados e seu tamanho. Define também, a faixa de valores que o tipo pode assumir. O Domínio é parte técnica de um tipo.
* Elemento de Dados
** O Elemento de Dados descreve o significado de um domínio, ou seja, a parte semântica de um tipo, como título, documentação e ajudas de pesquisa.
* Estruturas
** Estruturas são tipos de dados que possuem campos, mas que não possuem uma definição criada no banco de dados, ou seja, não é usada para armazenar dados. É mais usada, para evitar definições redundantes de tipos de dados.
* Tabelas Transparentes
** Uma Tabela Transparente é um tipo de objeto composto por um conjunto de campos. Cada campo possui uma definição semântica (Elemento de Dados), e uma definição técnica (Domínio). Ao ser criada no Dicionário, automaticamente é criada no banco de dados, um tabela espelho, com a mesma estrutura, mesmos nome, campos com o nome igual também, porém o tipo de dados de cada campo é traduzido para os tipos de dados permitidos pelo SGDB.
* Visões
** Visões são objetos que permitem que campos de uma ou mais tabelas seja agrupados para acesso mais ágil.
* Ajuda de Pesquisa
** Ajudas de Pesquisa, é utilizada para fornecer ao usuário, quando solicitado (F4), uma lista de valores possíveis para determinado campo (search-help - antigo match-code).

## Principais módulos

* SAP MM - Material Management (Gestão de Materiais)
* SAP WM - Warehouse Management (Gerenciamento de Armazenagem)
* SAP SD - Sales and Distribution (Vendas e Distribuição)
* SAP FI - Financial Accounting (Contabilidade Financeira)
* SAP PP - Production Planning and Control (Planejamento da Produção)
* SAP HCM - Human Capital Management (Gerenciamento de capital humano)
* SAP PS - Project System (sistemas de Projeto)
* SAP CO - Controlling (Controladoria)
* SAP QM - Quality Management (Administração de Qualidade)
* SAP PM - Plant Maintenance (Planejamento da Manutenção)
* SAP IS - Industry Solutions (Soluções Industriais)
* SAP BW - Business Warehousing (Armazenamento de negócios)
* SAP RE - Real Estate (Imobiliária)

## Implementação

Historicamente os projetos de implementação de sistemas de gestão ERP são complexos e demorados. Com o objetivo de reduzir a duração de tais projetos a SAP possui a metodologia ASAP Focus, que se apoia em cenários de negócios pré-definidos e implantados em uma grande quantidade de empresas no Brasil. Tais cenários, denominados SAP Best Practices Baseline (Brasil), atendem aos processos de negócios adotados por empresas de diferentes indústrias. Existem soluções prontas e empacotadas, em Português, para empresas químicas, produtos de consumo, manufatura discreta, varejo e serviços. etc. As áreas funcionais contempladas no Best Practices Package Baseline (Brasil) são:
* Time-to-Market(Tempo para o mercado)
* Forecast-to-Stock(Previsão para estoque)
* Order to Cash(Encomendar em dinheiro)
* Serviços
* Contabilidade
* Análises
* Integração de Processo