ABAP (Advanced Business Application Programming) es el lenguaje de programación principal compatible con la plataforma SAP NetWeaver ABAP application server y las aplicaciones que se ejecutan en ella, como SAP ERP (anteriormente R/3), S/4HANA y CRM.

SAP utiliza ABAP para implementar sus propias aplicaciones en la plataforma ABAP de NetWeaver, y los clientes de SAP utilizan ABAP para modificar la funcionalidad de las aplicaciones de SAP o crear las suyas propias en la plataforma ABAP de NetWeaver. ABAP es la más antigua y, probablemente, la más utilizada de las cuatro principales plataformas de aplicaciones de SAP, que también incluye SAP NetWeaver Java, SAP HANA y SAP Cloud Platform.

La evolución de ABAP

SAP ABAP comenzó en la década de 1980 como un lenguaje de generación de informes en productos SAP. Asumió un papel central en SAP R / 3 como el lenguaje de implementación y extensión principal del sistema de planificación de recursos empresariales (ERP). Con los años, ganó nuevas características, sobre todo la introducción de construcciones orientadas a objetos, conocidas como Objetos ABAP, en 1999 y la introducción de nuevos métodos de acceso a bases de datos y una gran cantidad de sintaxis nueva a partir de 2010.

Las características de ABAP se acoplan estrechamente con la versión SAP R/3 o NetWeaver que se está utilizando. La única forma de acceder a las nuevas funciones del idioma es actualizar a una versión más reciente del servidor de aplicaciones ABAP. En muchos casos, los programas escritos con características de una versión de servidor de aplicaciones más reciente no se ejecutarán en sistemas SAP más antiguos.

Herramientas de desarrollo ABAP

Con mucho, el mayor desarrollador de código ABAP es el propio SAP. Sin embargo, muchos miles de desarrolladores de ABAP trabajan con clientes de SAP y empresas de consultoría para mantener y modificar los sistemas SAP. ABAP se encuentra regularmente en el top 30 del Índice Tiobe, que hace un seguimiento aproximado de la popularidad de los lenguajes de programación.

Los desarrolladores que trabajan en ABAP generalmente lo hacen en las Herramientas de desarrollo de ABAP (un conjunto de complementos para la plataforma de desarrollo Java de código abierto Eclipse) o en la transacción de ABAP Workbench en la interfaz gráfica de usuario (GUI) de SAP. Ambos entornos ofrecen un conjunto de herramientas para ayudar al desarrollo, desde la finalización de código hasta herramientas de prueba automatizadas.

Clase ABAP en Eclipse
Una clase ABAP vacía en las herramientas para desarrolladores de ABAP como se ve en Eclipse.

SAP Solution Manager también ofrece herramientas para administrar el ciclo de vida de desarrollo del código ABAP. Hay poco soporte para herramientas de desarrollo más allá de lo que proporciona SAP, aunque algunos clientes han creado sus propias integraciones con herramientas de integración continua, control de versiones y seguimiento de errores de terceros.

Características especiales y la infraestructura ABAP más grande

ABAP no es independiente, y está altamente integrado con otras características del servidor de aplicaciones SAP NetWeaver ABAP. Entre ellos se encuentran los siguientes:

  • Conexiones lógicas de base de datos, que permiten extraer código de una base de datos específica. Las conexiones de base de datos reales se configuran fuera del código ABAP, lo que permite usar el mismo código en diferentes entornos de base de datos.
  • Open SQL, una abstracción de la sintaxis SQL que forma parte del lenguaje ABAP y que el entorno de ejecución ABAP convierte en SQL nativo apropiado para la base de datos que se está utilizando. Open SQL tiene muchas similitudes con el concepto de Consulta integrada de lenguaje (LINQ) de Microsoft.NET.
  • Tablas internas, que contienen colecciones de objetos a los que se accede mediante palabras clave de lenguaje especiales o SQL abierto. Este concepto ABAP contrasta con el concepto de matrices tipificadas como Java o C++.
  • Seguridad, en la que ABAP está integrado con la infraestructura de seguridad de SAP NetWeaver.
  • Diccionario de datos, un diccionario universal de definiciones de estructura de datos, que a menudo incluye lógica de negocios, que está disponible para todos los programas ABAP en un sistema.
  • Sistema de cambio y transporte (CTS), que rastrea los cambios en los objetos de desarrollo y gestiona la promoción de los objetos de desarrollo en entornos de control de calidad y producción.
  • Sistema de desarrollo compartido, que es un aspecto importante de ABAP. ABAP se diferencia de la mayoría de los lenguajes más nuevos en que el desarrollo generalmente se lleva a cabo en un sistema compartido, con todos los desarrolladores trabajando en el mismo conjunto de objetos de desarrollo al mismo tiempo.

ABAP y HANA

ABAP sigue siendo una parte importante de la pila de tecnología de SAP.

Aunque ha desempeñado un papel reducido en muchos productos con la llegada de la plataforma HANA, sigue siendo central para los productos más implementados de SAP, desempeña un papel importante en la plataforma ERP S/4HANA de próxima generación de SAP y se ha anunciado como tiempo de ejecución para la Plataforma SAP Cloud.