O que é ABAP ?

Visite o nosso canal no YouTube!

A linguagem de programação ABAP, é uma linguagem de alto nível, chamada de Quarta Geração, do lado de linguagens consolidadas como Oracle PL/SQL, Natural, Progress e outras linguagens criadas no BIG Bang do universo. Linguagens de quarta geração, são para fins específicos de negócio, como é o ABAP, ou seja, são linguagens, geralmente, dentro de outras ferramentas comerciais, que servem para “incrementar” as funcionalidades desses sistemas! Então, ABAP não é uma linguagem de programação como C# ou Java, é usada exclusivamente dentro do ERP da SAP, o produto mais famosos que leva o seu nome!

Uma curiosidade massa é que ABAP significa, em alemão, Processador Genérico para Preparação de Relatórios (Allgemeiner Berichts Aufbereitungs Prozessor), claro que ele foi se modificando com o tempo, em 1999, permitia, já naquela época, a criação de programas com o paradigma da orientação a objetos, tornando-se uma linguagem robusta e poderosa para entregar melhorias ao sistema da SAP.

A grande diferença entre ABAP e outras linguagens, é que o ABAP fica “dentro” do produto da SAP, dentro de tabelas especificas de aplicação e quando implementado para ser executado, o núcleo do SAP cria uma especie de binário, uma especie de bytecode, igual ao Java ou C#, para que o ABAP rode como uma aplicação desktop, utilizando-se o SAP GUI, principal ferramenta de apresentação da interação entre o banco de dados (Open SQL), rotinas de processamento e apresentação para o usuário (Servidor de Apresentação).

Você pode me perguntar:

ABAP é parecida com alguma linguagem de programação existente ?

A resposta é sim! Olhando para um código ABAP (Veja um exemplo clicando aqui), lembra muito um código em COBOL, linguagem de programação dos anos 50 (1959), criada por instituições governamentais e civis dos Estados Unidos, claro, por uma  mulher chamada Grace :). Claro, ABAP não é COBOL, temos alguns comandos no COBOL que não são utilizados no ABAP, como o comando GO TO, que leva para outra rotina dentro do programa COBOL.

Uma curiosidade interessante é que os criadores da SAP, são ex-funcionários da IBM! Esses funcionários, queriam desenvolver este produto de gestão para grandes empresas, dentro da IBM, ela [IBM] não concordou e os 5 funcionários, acabaram por sair da IBM, isso nos anos 70, e acabar por fundar a maior empresas de software de gestão comercial do mundo!

ABAP WORKBENCH

Acredito que seja uma, das poucas, linguagens de programação que tem uma série de ferramentas para criação de relatórios (ABAP ALV), criação de documentos no estilo formulários (ABAP SmartForms, hoje temos também o Adobe Forms), criação de transações comerciais, pontos de edição de código para programas Standard (programas criados pela SAP para a gestão comercial), diferentes possibilidades de mudar o comportamento do sistema, com poucas linhas de código.

Com o ABAP Workbench, temos diferentes transações técnicas para criação de tabelas no banco de dados do SAP, este, o banco de dados, pode ser qualquer um de uma variedade incrível de data bases, ou seja, o SAP oferece uma casca de interação com o DB, onde você pode usar uma transação para criar tabelas no banco de dados e, depois com o ABAP, criar comandos para interagir com essa tabela, como update, select, inserts e deletes!

Claro, essa interação toda é feita muito de perto por um conceito interessante de “Request”, ou seja, o SAP cria pequenos pontos de restauração de quase tudo, para que você possa retornar a versão de quase qualquer elemento dentro do SAP, seja uma transação, um programa, um registro que foi modificado em uma tabela, um relatório ou mesmo uma tabela de banco de dados, que teve as características de um campo modificados! Este conceito é bem semelhante ao conceito de SVN (no Eclipse pra quem conhece) de outras linguagens de programação, porém totalmente Standard e rastreável, tornando o sistema SAP muito mais seguro.

Você tem toda uma gama de ferramentas para a criação de relatórios personalizados e automáticos, ou seja, com uma tela de seleção previamente você consegue retornar os dados digitados pelos usuários, como uma variável dinâmica, sendo utilizada em tempo real, para a seleção de dados diretamente das tabelas Standard ou das tabelas customizadas chamada de tabelas Z.

CUSTOMIZANDO O AMBIENTE AO GOSTO DO FREQUÊS

O que a SAP deseja é menos código customizado, porém sabemos que em vários países isso não é possível, devido aos avanços comerciais das empresas, leis tributárias e rotinas pertinentes a cada setor de atuação, que utiliza o SAP como principal ferramenta estratégica de negócios.

Porém, a SAP, se preocupou em desenvolver uma enorme suite de ferramentas para a criação de “saídas” de novos códigos para que, assim, possamos rodar códigos customizados para cada realidade de empresa. Falando em customização, não podemos deixar de falar os objetos Z (ou Y), que podem estar pipocando no ambiente. A SAP, querendo separar o que é Standar e o que é customizado, criou uma regra em seu sistema, onde os objetos customizados irão iniciar-se com a letra “Z” ou com a letra “Y”, porém o mais comum é a letra “Z”, então quando criamos uma tabela de banco de dados, vamos começar seu nome com a letra “Z”.

Por exemplo, uma tabela de Pedidos já pagos, poderá se chamar “ZPEDIDOS_FATURADOS”, que pode armazenar os pedidos já pagos dentro do sistema para alguma auditoria, claro, que cada empresa adota um “Workbook”, ou um manual de como esses nomes serão implementados, pois, lembre-se, que as empresas que usam SAP são, na sua maioria, multinacionais ou empresas de grande porte, com filiais, centros de distribuição, milhares de fornecedores, etc! Uma tabela, por questões de organização e de negócios, não poderá se chamar ZPEDIDOS_FATURADOS, fica muito mais organizado criar uma regra pra isso.

Uma tabela, utilizada pelo Brasil e pela Argentina, que armazena os pedidos faturados, pode se chamar ZBRPF001 ou ZARPF001, ou seja, temos duas tabelas, uma para o Brasil e outra para a Argentina, armazenar os pedidos que foram pagos dentro do SAP, claro que isso é um exemplo, pois a tabela de pedidos do SAP é a EKPO! Isso também é um bom assunto, relacionamento de tabelas dentro do SAP.

STANDARD

Como já mencionado, a SAP desenvolveu uma serie de ferramentas, dentro do seu produto, para que as empresas usassem, sem a necessidade de novo desenvolvimento, ou seja, quando você têm vários pedidos por grupo de mercadoria, você utiliza a transação ME2C, ou quando você faz o estorno de uma fatura utilizando a transação MR8M, percebeu que elas não começam com “Z” ? Pois são chamadas de programas, chamados de Standard, ou seja, programas “padrão”, criados pela SAP para desenvolver uma relação transacional de negócios, que é comum para diferentes empresas no mundo, tais como: Manufatura, Produto acaba, produtos beneficiados, empresas de automação, etc!

Mas e se o programa Standard estiver fazendo algo errado ?

Claro, a SAP não é uma Deusa grega, como a Afrodite, deusa do Amor, ela é uma empresa, e como todas as empresas, passível de erro, ou seja, seu produto, hoje já bem consolidado, pode ter erro em um processo de negócios, porém, com o seu desenvolvimento ocorrendo deste os anos 70, fica muito difícil ter erros grosseiros hoje, porém é sempre bom ficar de olho, com auditorias internas e QA para novos processos de negócios, antes de serem enviados para o ambiente Produtivo.

Caso a SAP faça alguma coisa errada em seu produto, você poderá entrar em contato com o fornecedor, através de uma consultoria, ou utilizando a sua equipe de TI interna, para que ela possa entrar em contato com a SAP, utilizando o SAP Marketplace, onde poderá abrir um chamado ou baixar correções utilizando-se de notas especificas para o seu negócio.

O que são “Notas SAP” e como aplicar uma nota

Conforme foi mencionado no parágrafo acima, a SAP poderá ter alguma atualização de software decorrente a erro ou a necessidades do negócio, como mudanças de tributação pelo governo, então ela entrega as chamadas “SAP Notes” pelo seu Marketplace, sua área de membros para clientes, onde é possível buscar notas por palavra chave e fazer o download de uma nota, para atualizar o seu sistema.

Existe  uma transação no SAP, chamada SNOTE, que poderá ser utilizada para baixar notas especificas, de uma maneira super fácil e conveniente.

Pessoal, essa foi a minha pequena contribuição para esclarecer o que é o ABAP e seu universo dentro do SAP! Este artigo, vou modificando ele e enviando para vocês conforme for passando o tempo!

Obrigado e um abraço!
LéoABAP!