✒️ABAP / El lenguaje de programación ABAP Por Felipe Arrona Rodriguez
ABAP El lenguaje de programación ABAP

El lenguaje de programación ABAP
1| ¿Qué es 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 S/4HANA.
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 el lenguaje de programación de muy alto nivel, fácil de leer y se aprende rápidamente.
El lenguaje de programación ABAP se caracteriza por su total integración en el sistema SAP. No en vano todo el software de aplicación, compuesto por millones de línea de código, que el cliente recibe cuando adquiere SAP está escrito en ABAP.
Podemos decir que ABAP es un lenguaje de programación estructurado
La programación estructurada es un paradigma de programación orientado a mejorar la cantidad, la calidad y el tiempo de desarrollo de un programa de computación, que surge a finales de los años 70, en el cual solo se puede recurrir únicamente a subrutinas y tres estructuras básicas que son las siguientes:
- Secuencias: Es el orden en que las instrucciones deben ser ejecutadas.
- Instrucciones Condicionales o Selecciones: Es la posibilidad de poder 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 también es un lenguaje orientado a eventos, donde la secuencia de instrucciones depende del cumplimiento de una condición o evento.
La programación orientada a eventos es un paradigma de programación en el 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.
El sistema SAP está compuesto por un conjunto de áreas funcionales, módulos o líneas de negocio, según de la versión de SAP a la que nos estemos refiriendo, por lo que utilizaremos el lenguaje de programación ABAP para realizar nuevos desarrollos o modificar los desarrollos existentes para todas las áreas funcionales, módulos o líneas de negocio del sistema SAP.
ABAP para trabajar con todas las áreas funcionales de SAP tiene 4 áreas de trabajo:
- Módulos Logísticos
- Módulos Financieros
- Módulo de Recursos Humanos
- Funciones Multiaplicaciones.
2| Un poco de historia de ABAP
ABAP fue desarrollado por SAP como un lenguaje de programación para elaborar reportes para el sistema SAP R/2 en los años 80.
En ese momento podíamos decir que ABAP era un lenguaje de programación que era una mezcla entre el COBOL y el SQL.
- COBOL: El lenguaje COBOL (acrónimo de Common Business-Oriented Lenguage, Lenguaje Común Orientado a Negocios) fue creado en el año 1960 con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 1960 existían numerosos modelos de ordenadores incompatibles entre sí y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.
- SQL: Por sus siglas en inglés Structured Query Language, en español lenguaje de consulta estructurada. SQL es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.
ABAP se mantuvo como el lenguaje de desarrollo para la versión cliente-servidor de SAP R/3, que fue lanzada al mercado en 1992, en el que casi todo el sistema, menos las llamadas al sistemas básicas estaban escritas en ABAP. En 1999 con el lanzamiento de versión 4.6 de R/3, SAP lanzó una extensión orientada a objetos denominada ABAP Objects.
3| Las principales fortalezas de ABAP
Existen muchos puntos fuertes que presenta ABAP como lenguaje de programación. Si tenemos que mencionar los principales entonces serían los siguientes:
- Utiliza sentencias de OPEN SQL para conectarse con prácticamente cualquier base de datos: Si bien a partir de la versión 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 otra más.
- Es un lenguaje de programación estructurado, que también puede ser programado orientado a eventos y también puede programarse utilizando la orientación a objetos: Tomando a cada uno de estos paradigmas las mejores prácticas.
- 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 los sistemas SAP con cualquier otro sistema o lenguaje de programación: Mediante estas conexiones podemos conectar nuestro sistema SAP con otros sistemas SAP o no SAP y a ABAP con otros lenguajes tal como JAVA, etc.
- Permite la creación de aplicaciones multidioma: 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.
- Posee una ayuda muy potente sobre la sintaxis y la semántica del lenguaje: Simplemente con presionar la tecla F1 sobre la sentencia que queramos.
- Permite la realización de reportes en forma rápida y sencilla: Dispone de varias opciones para la realización de reportes de forma rápida.
4| Las herramientas propias de ABAP
ABAP posee algunas herramientas que son propias del lenguaje y que no están presentes en otros entornos de desarrollo. Las más importantes son las siguientes:
- 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 una misma pantalla se puede crear, modificar y borrar los objetos de bases de datos, entre los que se incluyen las tablas bases de datos, las estructuras, las vistas, los elementos de datos y los dominios.
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 estándar SE11 "Diccionario de datos ABA" es utilizada para la administración de todas las definiciones de datos utilizadas en el sistema SAP. - El Editor de programas (Transacciones SE38 y SE80): El editor ABAP, aparte de proveer de las funciones básicas para la edición de texto, tiene múltiples características que facilitan la programación enormemente. También nos permite resaltar las palabras clave y tener una vista en forma de estructura jerárquica que ofrece la posibilidad de ocultar o desglosar bloques sintácticos. De esta manera, el programador obtiene una buena visón de conjunto de la estructura general del programa.
Ambas transacciones estándares son utilizadas para el desarrollo de aplicaciones o programas ABAP dentro del sistema SAP. - El Screen Painter (Transacción SE51): Con esta herramienta crearemos rápidamente interfaces gráficas de usuario incluyendo una amplia gama de elementos de control, como botones de pulsación, botones de radio, checkboxes, etiquetas, campos de entrada, listas de base 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. Esta lógica de proceso está dirigida por eventos, como los lenguajes visuales modernos, aunque la variedad de eventos posibles está bastante limitada. - El Entorno de depuración (Dentro de la transacción SE38): El modo debugging de ABAP es posiblemente la herramienta más alabada por los programadores habituales de este lenguaje. 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 de paso a paso, la ejecución por bloques, entras vmuchas más, pero 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.
- Otras herramientas: Existe una gran variedad de herramientas adicionales cuyo uso no es tan frecuente como él Menu Painter, el análisis del tiempo de ejecución, el Class Builder, el Function Builder, etc.
MENU PAINTER: Es la herramienta de SAP que se utiliza para la creación de menús en los programas ABAP. Accedemos al menu painter a través de la transacción estándar SE41.
5| Las modificaciones al sistema estándar de SAP
SAP deja espacios en el sistema estándar de modo que los usuarios puedan satisfacer sus requerimientos, agregando en estos huecos el código ABAP necesario para ello.
A estos huecos que existen en el sistema SAP, se los denomina Ampliaciones, ya que con ellos se amplía o extiende las funcionalidades del sistema estándar.
Las principales ampliaciones que existen en SAP son las siguientes:
- Customer Exits (Transacciones CMOD y SMOD): Son espacios que SAP deja en el sistema estándar para que los usuarios agreguen código para validaciones y mejora.
La transacciones estándares CMOD y SMOD son utilizadas para la administración de las denominadas ampliaciones de usuarios del sistema SAP. - 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.
Las transacciones estándares SE18 y SE19 son utilizadas para la definición y la declaración de las denominadas BADIS en el sistema SAP. - Enhacements (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.
6| Los consultores SAP
Un consultor SAP puede definirse como un profesional que ofrece servicios para la implementación optimización y ejecución de los productos SAP y otros sistemas, que mediante interfaz con SAP aseguran el máximo aprovechamiento de los conocimientos y las herramientas de tecnología en beneficio de la compañía. El consultor SAP adapta el sistema a lo que cada empresa quiere y necesita. Mediante su labor, las empresas obtienen información valiosa para la toma de decisiones y datos específicos para los agentes interesados en ellas.
Dentro del ecosistema SAP, existen básicamente 3 tipos de consultores, estos son:
- Consultor Funcional: Son aquellos profesionales que tienen el conocimiento de un área funcional o módulo del sistema y están encargados de ayudar a las empresas a configurar el sistema SAP, de acuerdo con las necesidades de la empresa, brindar asesoramiento para que la empresa logre un aprovechamiento máximo de sus recursos al momento de tomar decisiones y luego de ello formar al personal asignado por la empresa para poder desempeñarse sin su ayuda constante.
- Consultor SAP Basis: Tiene como principal responsabilidad la administración del entorno SAP asegurando la integridad del sistema, esto incluye tareas de mantenimiento, actualizaciones y generación de backups con el fin de tener un respaldo de la información. Se encargan de gestionar la plataforma operativa SAP Netweaver, para que esta funcione siempre correctamente optimizando recursos en el sistema.
- Consultor Técnico: Los consultores técnicos nos estamos refiriendo a las personas que poseen los conocimientos técnicos dentro del sistema SAP. En general nos referimos a los programadores ABAP, pero también podríamos estar hablando de otros perfiles dependiendo de la tecnología utilizada.
SAPNETWEAVER: Es una plataforma de tecnología integrada para todas las aplicaciones SAP en el plano técnico. Es conocida como una aplicación orientada a servicios y a la integración. La estructura de SAP Netweaver permite a los clientes de SAP un acercamiento evolutivo y gradual a las nuevas tecnologías.
Los desarrolladores ABAP no solo realizan la programación en el lenguaje ABAP, también se encargan de confeccionar la documentación, realizar pruebas, asesorar a los consultores funcionales en cuestiones técnicas, optimizar el sistema, entre otras tantas cuestiones, es por ello que el nombre programador ABAP se queda corto con las tareas acordes al puesto de trabajo.
7| El ciclo de trabajo de consultor ABAP
Cada empresa posee su propia metodología de trabajo, esta metodología afecta directamente la manera en que la información fluye entre los distintos niveles jerárquicos de la empresa. Si se encuentra bien implementada, mejora el control de los costos de los requerimientos de los usuarios antes de llevarlas a cabo.
- El requerimiento del Cliente al Consultor Funcional
Lo que habitualmente sucede y es correcto que pase, es que el gerente de ventas cita a un Consultor Funcional SAP, que para este ejemplo por tratarse a un requerimiento del sector o módulo de Ventas, tendría que tomar este requerimiento un Consultor Funcional SAP SD, al cual el gerente le comentará sus necesidades de información. - La elaboración del Diseño Funcional
La forma más básica de realizar este trabajo Funcional y Técnico en conjunto, es que el Consultor Funcional, lo inicie elaborando una documentación llamada "Diseño Funcional", en este documento se le indica al Consultor Técnico entre otras cuestiones lo siguiente:
> Si se trata de hacer un programa nuevo o modificar un programa existente.
> La funcionalidad del programa a realizar.
> El detalle de la interfaz gráfica de selección de datos que debe tener el programa o bien la modificaciones.
> Las tablas bases de datos que se accederán para obtener la información del programa.
> Las pruebas básicas a realizar luego que el programa esté terminado.
> Demás documentación que crea necesaria o útil al Consultor ABAP.
Una vez que el Consultor Funcional elaboró el "Diseño Funcional", en base a la metodología con la que trabaje la empresa, se le pedirá al Consultor Técnico, que en base al Diseño Funcional elabore y entregue un "Diseño Técnico", el cual es un documento en donde se especifica el trabajo que deberá realizar desde el punto de vista técnico, es decir se detalla:
> El nombre del programa a crear.
> Los campos que componen lo que se denomina en ABPA la pantalla de selección.
> La forma de acceder a las tablas de la base de datos para obtener información.
> La validaciones que se realizarán en el programa.
> Si se imprimirán datos en pantalla.
> Si se generará un archivo de salida y muchas cuestiones más.
Normalmente aquí también se incluirá la estimación de las horas que se presume insumirá realizar o modificar el programa. Esta estimación por la general se elabora de común acuerdo entre el Consultor Funcional y el Consultor Técnico ABAP en base a:
> La dificultad de la tarea a realizar.
> La experiencia que posee el Consultor ABAP como programado
- La elaboración del Diseño Técnico y la Programación
Una vez finalizado el Diseño Técnico, el Consultor ABAP comenzará el desarrollo del programa o modificación a realizar.
Al terminarlo lo probará, realizando lo que se conoce como "Pruebas Unitarias", es decir pruebas básicas para asegurarnos que el programa cumple con los requisitos que nos solicitaron y avisa al consultor funcional.
El Consultor Funcional a su vez realizará sus propias pruebas, las cuales se conocen como "Pruebas integrales", en donde se probará el programa rigurosamente y si está todo en orden, avisará al cliente, cerrando de esta manera el requerimiento establecido a un principio.
 
 
 
Sobre el autor
Publicación académica de Felipe De Jesus Arrona Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Felipe De Jesus Arrona Rodriguez
Profesión: Ingeniero Administrador de Sistemas - Mexico - Legajo: QV21N
✒️Autor de: 32 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
" ingeniero en sistemas, orientado a optimizar procesos y datos con sap, sql y power bi, buscando crecimiento profesional en entornos administrativos y tecnológicos. "
Certificación Académica de Felipe Arrona






Disponibilidad Laboral: FullTime


















