Understanding ABAP

Objectives

After completing this lesson, you will be able to:
  • Compreender os fundamentos do ABAP
  • Compreender o ambiente ABAP
  • Compreender os fundamentos do ABAP RESTful Application Programming Model

A linguagem de programação ABAP

Os fundamentos do ABAP

Quando o ABAP foi publicado pela primeira vez em 1983, foi concebido como uma linguagem de programação procedural baseada em declarações. Embora relativamente independente, foi influenciado por outras linguagens de programação populares da época, principalmente COBOL e Pascal.

No final da década de 1990, a linguagem ABAP foi estendida para permitir a programação orientada a objetos. Conceitos importantes de linguagens de programação populares orientadas a objetos, como C++ e Java, foram integrados na linguagem ABAP. O ABAP Objects, como a linguagem de programação agora era chamada, combinava partes procedurais e orientadas a objetos em uma linguagem.

O ABAP foi ampliado novamente com expressões modernas. O ABAP combina elementos de sintaxe baseados em instrução tradicionais e elementos de sintaxe modernos baseados em expressão em uma linguagem de programação. Elementos de sintaxe orientados a objetos e baseados em expressão são recomendados sempre que possível para novos desenvolvimentos ABAP.

Vejamos alguns dos principais recursos do ABAP no vídeo a seguir.

O escopo de linguagem ABAP foi adaptado para suportar o desenvolvimento na nuvem ABAP e as versões de linguagem "ABAP para desenvolvimento na nuvem" e "ABAP para usuários-chave" foram introduzidas. Os detalhes para as versões de linguagem ABAP estão disponíveis no SAP Help Portal.

As três versões de linguagem ABAP são ABAP padrão, ABAP para desenvolvimento na nuvem e ABAP para usuários-chave.
ABAP padrãoABAP para desenvolvimento na nuvemABAP para usuários-chave
Versão universalVersão de linguagem ABAP restritaVersão de linguagem ABAP restrita
Versão de linguagem ABAP sem restriçõesOtimizado para nuvemDestinado a implementar aprimoramentos por usuários-chave
Abrange todo o escopo do idioma

Utilizações SAP públicas liberadas:

  • APIs (locais ou remotas) para acessar a funcionalidade e os dados da SAP
  • Pontos de ampliação para ampliar objetos SAP
Abrange regras gerais do ABAP clássico com um conjunto restrito de elementos de linguagem
 Não suporta modificações em objetos SAP 
Ferramentas de desenvolvimento ABAP (ADT) como ABAP IDE

Nota

Este curso oferece uma introdução universal ao desenvolvimento ABAP. Ele se restringe a elementos de sintaxe e recursos de linguagem disponíveis nas três versões de idioma. Uma exceção é a introdução do ABAP RESTful Application Programming Model, que não faz parte do ABAP para usuários-chave.

Este curso utilizará o SAP BTP, ambiente ABAP para os exercícios e demonstrações.

O ABAP Cloud

Ambientes ABAP

O ABAP Cloud é um modelo de desenvolvimento comum para criar extensões e aplicações prontas para a nuvem em cenários na pilha e lado a lado. Ele está disponível em todas as edições do SAP S/4HANA e no ambiente ABAP do SAP Business Technology Platform (BTP).

Nota

Para mais informações sobre o SAP S/4HANA, visite https://learning.sap.com/learning-journeys/learn-the-basics-of-sap-fiori e selecione ArquiteturaDescrição do SAP S/4HANA.

ABAP Cloud

O modelo de desenvolvimento ABAP para criar aplicativos empresariais, serviços e extensões prontos para a nuvem.

Ele está disponível com o SAP BTP e o SAP S/4HANA.

Ele funciona com nuvem pública ou privada e até mesmo em qualquer local.

Modelos de desenvolvimento ABAP

O modelo de desenvolvimento ABAP é uma abordagem de desenvolvimento abrangente que abrange todos os aspectos ponta a ponta do processo de desenvolvimento. É um termo abrangente que engloba coisas concretas e abstratas, como a arquitetura subjacente, as ferramentas usadas para desenvolvimento, diretrizes de desenvolvimento e muito mais.

Vejamos os conceitos-chave nos quais o modelo de programação na nuvem ABAP é baseado.

O modelo de programação de aplicativos RESTful

O ABAP RESTful Application Programming Model define a arquitetura para o desenvolvimento eficiente de ponta a ponta de serviços OData otimizados para SAP HANA (como apps SAP Fiori) no ambiente ABAP. Ele suporta o desenvolvimento de todos os tipos de aplicativos Fiori e a publicação de APIs Web. Ele é baseado em tecnologias e frameworks, como Core Data Services (CDS) para definir modelos de dados semanticamente ricos e uma infraestrutura de modelo de serviço para criar serviços OData com ligações a um protocolo OData e serviços de aplicação baseados em ABAP para lógica personalizada e interfaces de usuário baseadas em SAPUI5.

A SAP usa o modelo RESTful Application Programming para criar novos aplicativos padrão e modernizar os já existentes. A SAP também recomenda que seus clientes e parceiros o usem para desenvolvimentos personalizados no SAP S/4HANA e no SAP Business Technology Platform (BTP), ambiente ABAP.

Estrutura do modelo de programação de aplicativos RESTful que consiste em modelagem e comportamento de dados, exposição e consumo de serviços empresariais

As aplicações desenvolvidas com o ABAP RESTful Application Programming Model são compostas pelos seguintes módulos:

Business objects
Os objetos de negócios representam o modelo de dados e definem a lógica relacionada a dados, chamada comportamento, independente de consumo específico. Os business objects de programação de aplicativo RESTful são definidos por meio de visões de modelagem de dados Core Data Service (CDS), definições de comportamento CDS e implementações de comportamento em classes ABAP.
Projeções de business object
A projeção de business object é uma abordagem ao projeto e ao alias, um subconjunto do business object para um serviço empresarial específico. A projeção permite o consumo flexível de serviços, bem como designs de serviços baseados em funções. Em programas de aplicação RESTful, uma projeção de business object consiste em visões de projeção CDS, projeções de comportamento CDS e, se necessário, visões adicionais ou específicas de consumo.
Definição de serviço
Uma definição de serviço define o escopo de um serviço empresarial, especialmente a projeção de business object a ser exposta por este serviço.
Ligação de serviço
Uma ligação de serviço define o protocolo de comunicação, como OData V2 ou OData V4, e o tipo de serviço a ser oferecido a um consumidor, como serviços IU ou um Web Service.
IU SAP Fiori
A IU do SAP Fiori fornece uma IU designada para modelos de aplicação usados com base em serviços OData.
API Web
Uma API da Web fornece uma interface pública para qualquer cliente OData acessar o serviço.

Depois de aprender os fundamentos da programação ABAP, você criará uma aplicação ABAP RESTful para um app de supermercado sustentável. Você utilizará o gerador de objetos do repositório e criará um business object de programação do aplicativo RESTful ABAP pronto para uso em menos de uma hora. Este aplicativo permitirá que você acompanhe seus mantimentos e sua data de vencimento.

Captura de tela de aplicativo criado com o RESTful Application Programming Model