Understanding ABAP

Objectives

After completing this lesson, you will be able to:
  • Comprender los conceptos básicos de ABAP
  • Comprender el entorno ABAP
  • Comprender los conceptos básicos del modelo de programación de aplicaciones ABAP RESTful

El lenguaje de programación ABAP

Los aspectos básicos de ABAP

Cuando ABAP fue publicado por primera vez en 1983, fue diseñado como un lenguaje de programación procedimental basado en sentencias. Aunque relativamente independiente, fue influenciado por otros lenguajes de programación populares de la época, en su mayoría COBOL y Pascal.

A finales de la década de 1990, el lenguaje ABAP se amplió para permitir la programación orientada a objetos. Conceptos importantes de lenguajes de programación populares orientados a objetos, como C++ y Java, se integraron en el lenguaje ABAP. Los objetos ABAP, como se llamaba ahora el lenguaje de programación, combinaban partes procedimentales y orientadas a objetos en un lenguaje.

ABAP se ha ampliado de nuevo con expresiones modernas. ABAP combina elementos sintácticos basados en expresiones tradicionales y elementos sintácticos basados en expresiones modernos en un lenguaje de programación. Los elementos sintácticos orientados a objetos y basados en expresiones se recomiendan siempre que sea posible para los nuevos desarrollos ABAP.

Veamos algunas de las funciones clave de ABAP en el siguiente vídeo.

El alcance del lenguaje ABAP se ha adaptado para admitir el desarrollo en la nube ABAP y se han introducido las versiones de idioma "ABAP para desarrollo en la nube" y "ABAP para usuarios clave". Los detalles para las versiones de idioma ABAP están disponibles en SAP Help Portal.

Las tres versiones de idioma ABAP son ABAP estándar, ABAP para desarrollo en la nube y ABAP para usuarios clave.
ABAP estándarABAP para desarrollo en la nubeABAP para usuarios clave
Versión universalVersión de idioma ABAP restringidaVersión de idioma ABAP restringida
Versión de idioma ABAP no restringidaOptimizado para la nubePrevisto para implementar mejoras por parte de los usuarios clave
Cubre todo el alcance del idioma

Utiliza SAP público liberado:

  • API (locales o remotas) para acceder a la funcionalidad de SAP y a los datos de SAP
  • Puntos de ampliación para ampliar objetos SAP
Cubre las reglas generales de ABAP clásico con un conjunto restringido de elementos de idioma
 No admite modificaciones en objetos SAP 
Herramientas de desarrollo ABAP (ADT) como ABAP IDE

Nota

Este curso ofrece una introducción universal al desarrollo ABAP. Se limita a los elementos sintácticos y a las funciones de idioma disponibles en las tres versiones de idioma. Una excepción es la introducción del modelo de programación de aplicaciones ABAP RESTful, que no forma parte de ABAP para usuarios clave.

Este curso utilizará SAP BTP, entorno ABAP para los ejercicios y demostraciones.

ABAP Cloud

Entornos ABAP

ABAP Cloud es el único modelo de desarrollo común para crear extensiones y aplicaciones listas para la nube en escenarios en paralelo y en la pila. Está disponible en todas las ediciones de SAP S/4HANA y en el entorno ABAP de SAP Business Technology Platform (BTP).

Nota

Para obtener más información sobre SAP S/4HANA, visite https://learning.sap.com/learning-journeys/learn-the-basics-of-sap-fiori y seleccione ArquitecturaDescripción de SAP S/4HANA.

ABAP Cloud

El modelo de desarrollo ABAP para crear aplicaciones, servicios y extensiones empresariales listas para la nube.

Está disponible con SAP BTP y SAP S/4HANA.

Funciona con una nube pública o privada e incluso con cualquier punto de consumo.

Modelos de desarrollo ABAP

El modelo de desarrollo ABAP es un enfoque de desarrollo integral que cubre todos los aspectos integrales del proceso de desarrollo. Es un término global que abarca cosas concretas y abstractas, como la arquitectura subyacente, las herramientas utilizadas para el desarrollo, las directrices de desarrollo y mucho más.

Veamos los conceptos clave en los que se basa el modelo de programación ABAP Cloud.

El modelo de programación de aplicaciones RESTful

El modelo de programación de aplicaciones ABAP RESTful define la arquitectura para un desarrollo integral eficiente de los servicios OData optimizados para SAP HANA (como las aplicaciones SAP Fiori) en el entorno ABAP. Admite el desarrollo de todos los tipos de aplicaciones Fiori y la publicación de API web. Se basa en tecnologías y frameworks como Core Data Services (CDS) para definir semánticamente modelos de datos enriquecidos y una infraestructura de modelo de servicio para crear servicios OData con vinculaciones a un protocolo OData y servicios de aplicación basados en ABAP para lógica personalizada e interfaces de usuario basadas en SAPUI5.

SAP utiliza el modelo de programación de aplicaciones RESTful para crear nuevas aplicaciones estándar y modernizar las existentes. SAP también recomienda que sus clientes y socios lo utilicen para desarrollos personalizados en SAP S/4HANA y SAP Business Technology Platform (BTP), entorno ABAP.

Estructura del modelo de programación de aplicaciones RESTful que consiste en modelado y comportamiento de datos, exposición y consumo de servicios empresariales

Las aplicaciones desarrolladas con el modelo de programación de aplicaciones ABAP RESTful constan de los siguientes módulos:

BusinessObjects
Los business objects representan el modelo de datos y definen la lógica relacionada con los datos, llamada comportamiento, independientemente del consumo específico. Los business objects de programación de aplicaciones RESTful se definen mediante vistas de modelado de datos Core Data Service (CDS), definiciones de comportamiento CDS e implementaciones de comportamiento en clases ABAP.
Proyecciones de business object
La proyección de business object es un enfoque de proyecto y alias de un subconjunto del business object para un servicio empresarial específico. La proyección permite un consumo de servicio flexible, así como diseños de servicio basados en roles. En los programas de aplicación RESTful, una proyección de business object consta de vistas de proyección CDS, proyecciones de comportamiento CDS y, si es necesario, vistas adicionales o específicas de consumo.
Definición de servicio
Una definición de servicio define el alcance de un servicio empresarial, especialmente la proyección de business object que debe exponer este servicio.
Vinculación de servicio
Una vinculación de servicio define el protocolo de comunicación, como OData V2 u OData V4, y el tipo de servicio que se ofrecerá a un consumidor, como los servicios de IU o un servicio web.
IU de SAP Fiori
La IU de SAP Fiori proporciona una IU designada para los patrones de aplicación de uso común basados en servicios OData.
API web
Una API web proporciona una interfaz pública para que cualquier cliente OData acceda al servicio.

Después de aprender los conceptos básicos de la programación ABAP, creará una aplicación ABAP RESTful para una aplicación de comestibles sostenible. Utilizará el generador de objetos de repository y creará un business object de programación de aplicaciones ABAP RESTful listo para usar en menos de una hora. Esta aplicación le permitirá realizar un seguimiento de sus comestibles y su fecha de vencimiento.

Captura de pantalla de una aplicación creada utilizando el modelo de programación de aplicaciones RESTful