Executando verificação de segurança...
5

[SAP] O que é o ABAP?

Fala galera!

No meu último post eu questionei se havia um interesse em conteúdos referentes ao ABAP. Apesar de poucos comentários (o que já era esperado, sendo que acabei de iniciar por aqui), existe sim um interesse, então irei (entenda como "tentarei") trazer conteúdos da linguagem aqui.

Não irei copiar trechos da internet ou respostas do ChatGPT para expor o conteúdo. Digitarei (entenda novamente como "tentarei") tudo de uma forma mais pessoal, buscando uma melhor didática.


Mas então, o que é o ABAP?

ABAP, ou Advanced Business Application Programming (chique, não?), é uma linguagem de programação de propriedade da SAP (se você não conhece a SAP... uau!) utilizada para desenvolver os principais softwares da empresa, o ECC e o S/4HANA, que são só os maiores ERPs (sistemas integrados) do mundo!

Por ser uma linguagem que roda única e somente no "universo SAP" e esse "universo" ser um pouco fechado (isso é mito, mas vamos assumir que seja verdade), a comunidade de desenvolvedores praticamente nem conhece a linguagem e os poucos que conhecem possuem um certo preconceito, acreditando que é uma linguagem retrógrada, do passado, que só os dinossauros desenvolvem com ela.

E isso é verdade? Sim... claro que não!

O ABAP é uma linguagem muito poderosa, qual permite criar vários tipos de aplicações e utilizar vários tipos de arquitetura, design patterns (sim, o ABAP suporta orientação a objetos, diferente do que muitos dizem), consumir APIs e mais todos os termos hipsters que temos por aí.

Existe sim a limitação de rodar uma aplicação desenvolvida com ABAP somente dentro da plataforma SAP (novamente, no ECC e no S/4HANA), então não é a primeira linguagem que pensamos quando o objetivo é desenvolver um site ou um jogo, por exemplo. Mas isso não faz com que a linguagem seja ruim ou limitada. Muito pelo contrário! Isso faz com que o "pouco" que ela faz, faça muito bem!

Como diria o pensador neoclássico Gaveta, na minha OPINIÃO, uma das maiores vantagens em utilizar o ABAP é a facilidade em implementar algoritmos com uma sintaxe de abstração alta (complexo né? São palavras bonitas para dizer "mais fácil de aprender"). Os códigos em ABAP, para quem sabe um pouco de inglês, são mais legíveis, fluídos, sem muitos ({[;.,|...,

Uma outra grande vantagens é poder fazer as queries de banco de dados direto na linguagem, inclusive, validando a sintaxe. Isso é incrível!


Tá! Mas e os exemplos?

Vejamos um exemplo de como escrever "Hello World" em ABAP:

WRITE 'Hello World'.

Mas e se eu quiser fazer uma condição, dizendo que SE 1 for igual a 1, então escreva "Mas é claro que 1 é igual a 1?". Ficaria assim:

IF 1 = 1.
  WRITE 'Mas é claro que 1 é igual a 1'.
ENDIF.

Ou então assim:

IF 1 EQ 1.
  WRITE 'Mas é claro que 1 é igual a 1'.
ENDIF.

Eu disse que podemos fazer as queries no banco de dados direto na linguagem certo? Como ficaria isso?

Vamos supor que eu quero selecionar todas as colunas do primeiro registro da tabela CLIENTES, ficaria assim:

DATA ls_clientes TYPE clientes.

SELECT SINGLE *
  FROM clientes
  INTO ls_clientes.

Ou então assim:

SELECT SINGLE *
  FROM clientes
  INTO DATA(ls_clientes).

É claro que estes exemplos não resumem o poder e a "facilidade" do ABAP, e também não são as únicas formas de fazer o que foi proposto, mas é um começo!


Daqui pra frente...

Meu plano (qual pode ser frustrado, mas farei o máximo para que não seja) é postar aqui cada vez mais conteúdos sobre o ABAP para fazer a minha parte como participante dessa comunidade de poucas pessoas que falam sobre a linguagem, mas que quero ver crescendo. Acompanhem :)

Ah, na fonte estou deixando um link de um repositório no GitHub qual traz os conceitos do Clean Code para o ABAP.

Abraço!

Quer ver mais conteúdo sobre ABAP por aqui? Dá uma olhada no meu agrupador de publicações!

Carregando publicação patrocinada...
3

Muito bom ver um SAPeiro por aqui.
Eu estava para postar perguntando se havia interesse em conhecer sobre o mundo SAP por aqui.
Queria deixar uma sugestão para ti, coloca um [SAP] no inicio e ai fica mais facil pra identificarmos.
Vou postar algumas coisas sobre UI5, CPI, BTP, S4 e etc e assim podemos deixar uma base legal de assunto SAP.

Abraçao

1

EXCELENTE ideia! Vou aterar o título dos dois posts que fiz, inserindo o [SAP] no começo e farei isso nos próximos posts também.

Faz sim os posts sobre essa "fatia" mais atual da SAP, pois irá complementar demais! Eu estudo sobre, mas a minha experiência é muito mais focada no ABAP, então ainda não tenho muita propriedade para falar sobre.

Muito obrigado pelo apoio :)

2
2

Opa! Obrigado pelo feedback :)

Na real o ABAP não é uma linguagem SQL, tá? É uma linguagem de programação mesmo, mas que suporta de forma nativa as consultas (que ai sim são em SQL) das tabelas de banco de dados.

2

Quando iniciei a carreira programando em cobol, via o pessoal de SAP e achava que quando fosse passando o tempo iria para essa galera descolada do SAP usando abap, no final fiquei só no PIC X 😂

1
1
1
2

Cara que bacana seu post, se não se importar gostaria de compartilhar algumas experiencias que tive com a linguagem:
Eu por muito tempo tentei entrar no mundo SAP, isso lá por 2010-2015, mas acabei indo pra outras bandas. Lembro que era muito dificil achar tutoriais ou blogs sobre SAP, era tudo muito fechado, na época só tinha apenas um blog em portugues na internet(esqeuci o nome agora, mas acho que tenho umas page salvas no pc, vou procurar depois), onde a gente baixava o MiniSAP (acho que era esse o nome), infelismente na época o rapaz do blog parou com as postagens, e os cursos eram muito caros. Nem sei se ainda existem, mas eram cursos licenciados na escola Ka Solution. Embora nunca tenha trabalhado é nostalgico pra mim ver esses códigos ABAP, me lembrava muito o BASIC. Codei bastante no miniSAP em casa, a linguagem é bem simples e intuitiva.

2

Cara, não só não me importo, como quero que compartilhe as experiências! A ideia aqui é essa, todo mundo ter uma voz e dar os seus centavos sobre o assunto.

Eu entrei em 2014 no universo SAP, uma época em que ainda era bem complicado sim entrar. Eu dei muita sorte e tenho consciência disso.

Mas eu acredito de verdade que isso está mudando. Cada vez mais você vê conteúdo gratuito pela internet, principalmente no YouTube. Cada vez mais tem novos sites como o ABAP 101, ABAP Zombie, ABAP Juniores, ABAP Fox, etc.

Se você ainda tem interesse no ABAP, segue acompanhando aqui que vou postar bastante coisa :)

2

Sempre ouvi um pouco sobre a SAP, até fiz um mini-curso sobre o sistema, mas não fui a diante. Desde que entrei na área de tecnologia da informação e sempre trabalhei no ramo da indústria, utilizo o SankhyaOm que basicamente não tem a linguagem própria porém utiliza Java e com isto consigo fazer qualquer coisa utilizando a linguagem.

1
2

Muito legal as informações murillonadal,

Concordo que uma linguagem tão importante não mencionada e disseminada na forma que deveria ser.

Com certeza que estar dentro do SAP é um desses limitadores, mas achei muito interessante que dá para usar até SQL dentro dela.

1

Muito obrigado pelo feedback :)

Toda linguagem tem algum limitador né? Por isso temos tantas! Cada uma com as suas características. Mas a comunidade precisa conhecer mais o ABAP, é uma linguagem muito usada no mercado, paga muito bem e tem muita vaga!

2

Acho que a grande barreira de entrada se da pela questão do SAP ser pago, tendo uma licensa não muito barata, hoje atuo em uma empresa que utiliza o SAP como ERP, e vejo como uma plataforma bem poderosa, andei pesquisando alguns produtos recentes (talvez não tão recentes, mas pra mim foram novidade kkk) o SAP mostra ser versátil em diferentes ambientes, tendo novos produtos voltados para microserviços, mensageria e por ai vai.

É um pouco dificil encaixar esse tipo de plataforma junto ao que ta no mainstream, muita gente ta começando no mercado vendo apenas o mundo web/mobile de maneira simples, mas acho que é uma curva normal, uma hora ou outra mexer com algum ERP.

Eu particularmente, tenho uma implicância que talvez se dê pelo meu primeiro contato, que não foi bem programando ABAP e sim tendo que resolver problemas de usuário (famoso ticket) com transações complexas que usam siglas do alemão (isso principalmente me deixou com vontade de tacar na parede kkk), mas como meu escopo de trabalho acaba fazendo com que eu use de vez em quando, fazer o que né, ajuda a pagar as contas kk

1

Cara, excelente ter trazido o seu ponto de vista!

Concordo muito com o que você disse de ter a barreira de entrada relacionada ao custo, uma vez que para aprender Javascript, por exemplo, basta ter um editor de texto e um navegador. Porém, para aprender o ABAP, "basta" instalar o Mini SAP também. É mais complexo do que instalar um editor de texto? Com certeza! Mas é possível.

Sobre as transações, achei sensacional ter trazido este ponto kkkkk muita gente acha estranho! Eu, como iniciei minha carreira no SAP, estou muito acostumado a trabalhar dessa forma. Mas para quem não está, de fato é uma quebra de paradigma e precisa de um tempo para se acostumar.

Mas é isso! Eu concordo que fatalmente quem trabalha com TI em empresas grandes vai acabar esbarrando com algum ERP, mesmo que seja para alguma integração. E de todos os ERPs que existem, como os da SAP são os mais bem sucedidos no mercado, aprender um pouco sobre o ABAP pode e com certeza será bem saudável :)

2
2
1