✒️ABAP / El lenguaje de programación ABAP Por Miguel Campo Velasco
ABAP El lenguaje de programación ABAP

ABAP:
ABAP: ES un lenguaje de programación de cuarta generación, propiedad de SAP, que se utiliza para programar en | sus productos SAP ECC y SAP SI4HANA. Sus siglas significan Advanced Business Application Programming, es decir Programación Avanzada de | Aplicaciones de Negocio, aunque también es conocido como SAP ABAP.
Es un lenguaje de programación de muy alto nivel, fácil de leer y se aprende rápidamente.
SAP ofrece sus soluciones de manera estándar, si se da el caso de que el cliente necesita una funcionalidad no ofrecida por SAP, tenemos la posibilidad de usar el entorno de desarrollo ABAP Development Workbench o Entorno de Desarrollo ABAP.
Características de ABAP
ABAP es un tipo de lenguaje de programación estructurado. En el cual solo se puede recurrir únicamente a subrutinas y res estructuras básicas que son las siguientes:
- Secuencias: es el orden en que las instrucciones debes ser ejecutadas.
- Instrucciones condicionales o selecciones: es la posibilidad de elegir entre dos instrucciones y la decisión se tomará en base a una evaluación, a la cual se le llama condición.
- Iteraciones: es la repetición de una instrucción o grupo de instrucciones mientras se cumple una condición.
ABAP, es un lenguaje orientado a eventos, donde la secuencia de instrucciones depende del cumplimiento de una condición o evento. Esto es que la estructura y la ejecución de los programas va determinado por los sucesos o acciones que ocurren en el sistema, definidos por el usuario o por el propio sistema.
ABAP es un lenguaje de programación fácil de aprender debido a la estabilidad del sistema SAP, que ha evolucionado gradualmente con solo cinco grandes versiones en cuarenta años: SAP R1, R2, R3, ECC y S/4HANA. Aunque se han incorporado adelantos modernos, la esencia (las sentencias) de la programación en ABAP sigue siendo la misma.
Historia de ABAP
ABAP fue desarrollado por SAP en los años 80 para elaborar reportes en el sistema SAP R2, combinando elementos de COBOL y SQL. Inicialmente pensado para usuarios finales, se volvió demasiado complejo, requiriendo programadores experimentados. ABAP se mantuvo como el lenguaje de desarrollo para SAP R3, lanzado en 1992. En 1999, SAP introdujo ABAP Objects, una extensión orientada a objetos. Las últimas versiones de ABAP incorporan innovaciones tecnológicas modernas y permiten programar en otros entornos de desarrollo.
La incorporación de los objetos de ABAP no convirtió a ABAP en un lenguaje orientado a objetos sino que permite que determinadas funcionalidades puedes ser pensadas y desarrolladas utilizando POO (la programación orientada a objetos).
Puntos fuertes de ABAP
- Utiliza sentencias de OPEN SQL para conectarse con prácticamente cualquier base de datos: si bien a partir de la version SAP S/4HANA solo trabaja con SAP HANA como base de datos, en las versiones anteriores del sistema SAP, se utilizaban otras bases de datos, tal como Oracle y otras mas.
- Es un lenguaje de programación estructurado, que también puede ser programado orientado a eventos y también puede programarse utilizando Ia orientación a objetos: tomando de cada uno de estos paradigmas las mejores practicas
- Cuenta con miles de funciones para el manejo de archivos, bases de datos, fechas, caracteres, entre otros: de esta forma operaciones complejas se vuelven simples.
- Permite conexiones RFC para conectar a los sistemas SAP con cualquier otro sistema o lenguaje de programación: mediante estas conexiones podemos Conectar nuestro sistema SAP Con otros sistemas SAP 0 no SAP y a ABAP con otros lenguajes tal como JAVA, etc.
- Permite la creación de aplicaciones multiidioma: podemos traducir todos los textos de nuestras aplicaciones a los diferentes idiomas en donde se utilice la misma aplicación sin necesidad de tener que volver a crearla. Esta funcionalidad resulta indispensable para las empresas multinacionales que cuentan con sucursales en distintos países del mundo.
- Posee una ayuda muy potente sobre la sintaxis y la semántica del lenguaje: simplemente con presionar a tecla F1 sobre la sentencia que queramos.
- Permite la realización de reportes en forma rápida y sencilla (ALV): dispone de varias opciones para la realización de reportes de forma rápida.
Herramientas de ABAP
- El Diccionario de Datos ABAP (Transacción SE11): es el punto de referencia para los programadores ya que permite aislarles el sistema de gestión de base de datos que se utilice por debajo. Desde un misma pantalla se puede crear, modificar y borrar los objetos de bases de datos, entre los que se incluyen las tablas base de datos, las estructuras, las vistas, los elementos de datos y los dominios.
Las definiciones de las tablas bases de datos pueden ser referenciadas directamente en los programas permitiéndonos modificar posteriormente las tablas sin tener que cambiar los programas. Tenemos la posibilidad de gestionar otros objetos del diccionario de datos como las ayudas de búsqueda, los objetos de bloqueo o los objetos de autorización.
La transacción SE11 es utilizada para la administración de todas las definiciones de datos utilizadas en el sistema SAP.
- 2. Editor de programas (transacciones SE38 y SE80): Nos permite proveer de las funciones básicas para la edición de texto, tiene múltiples características que facilitan la programación enormemente, efectuar una verificación de sintaxis y aceptar las sugerencias de corrección automática que tiene incluido. Es también posible resaltar palabras clave y tener una vista en forma de estructura jerárquica que ofrece la posibilidad de ocultar o desglosar bloques sintácticos.
3. El screen painter (transacción SE51): Se usa para la creación de interfaces gráficas de usuario, incluyendo elementos de control, como botones de pulsación y radio, check boxes, etiquetas, campos de entrada, lista de bases de datos, etc.
Las pantallas que se crean se denominan dynpros y en ellas se incluye la definición de la pantalla y sus campos y la lógica de proceso de la misma.
Dynpro: Es el sinónimo de pantalla dentro de SAP. Cada dynpro tiene asignado un número compuesto por cuatro dígitos numéricos.Las dynpros son los componentes fundamentales de un programa de diálogo en ABAP, el cual está compuesto por una serie de pantallas por las cuales el usuario navega mientras interactúa con el programa y realiza determinadas acciones.
A los programas de diálogo en ABAP se los conoce también con el nombre de "Module Pool". Dentro de cada dynpro se crearán o asociarán diferentes objetos para darles funcionalidades a las mismas. Entre ellos podemos nombrar: Menús, Títulos, Botones, Tablas de control, SubScreens, Campos de entrada, Campos de salida
Para trabajar con Programas de diálogo o Module Pools vamos a utilizar la transacción SE80 correspondiente al "Navegador de objetos".
4. El entorno de depuración (Transacción SE38): Tiene todas las ventajas de este tipo de ayudas a la programación, tal como la creación de breakpoints y watchpoints, la ejecución paso a paso, la ejecución por bloques, además nos permite hacer todo esto viendo el código fuente del programa, por lo que la localización del lugar del error es exacta.
Modificaciones al sistema estándar de SAP
SAP permite a los usuarios adaptar el sistema a sus necesidades dejando espacios en el sistema estándar para agregar código ABAP. Estos espacios, llamados Ampliaciones, permiten extender las funcionalidades del sistema estándar.
Estas ampliaciones (Customer Exits) se gestionan con las transacciones CMOD y SMOD: Son espacios que SAP deja en el sistema estándar para que los usuarios agreguen código para validaciones y mejoras.
Field Exits (Transacción CMOD y escribir PRFB): también llamadas ampliaciones de campo, son validaciones de los elementos de datos asociados a campos de pantallas de SAP.
BADIS (Business Adds-Ins, Transacciones SE18 y SE19): son un nuevo tipo de extensión al sistema SAP basado en la utilización de objetos ABAP para la implementación de validaciones y ampliaciones al código estándar de SAP sin tener que modificar el código estándar.
Enhancements (Desde la misma transacción SE38): son ampliaciones al código estándar de SAP mediante las cuales podremos agregar funcionalidades determinadas.
Estructuras Append (Desde la misma transacción SE11): son objetos de ABAP que se crean para agregar datos o configuraciones adicionales a las tablas bases de datos y estructuras estándar de SAP.
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Campo Velasco, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Miguel Angel Campo Velasco
Profesión: Consultor Sap Funcional Fi-ca - España - Legajo: PM38R
✒️Autor de: 18 Publicaciones Académicas
🎓Cursando Actualmente: Master Funcional ABAP
🎓Egresado de los módulos:
- Master ABAP Orientado a Objetos
- Master ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial






Disponibilidad Laboral: FullTime


















