![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP El lenguaje de programación ABAP
ABAP El lenguaje de programación ABAP
![ABAP El lenguaje de programación ABAP ABAP El lenguaje de programación ABAP](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/8.jpg)
1 | ¿Qué es ABAP?
ABAP (o Advanced Business Application Programming) es un lenguaje de programación de alto nivel que se usa para programar en los productos SAP ECC y SAP S/4HANA. Todo el software que el cliente compra en SAP está escrito en ABAP, y nos interesa este lenguaje ya que hay necesidades del cliente que pueden no ser saciadas por los productos oficiales de SAP, por lo que puede ser necesario desarrollar una solución a través de ABAP.
El desarrollo se hace en un entorno que SAP denomina ABAP Development Workbench (Aunque hoy en día se puede programar en entornos diferentes).
Cabe destacar que ABAP es un lenguaje estructurado, es decir que prioriza la claridad, calidad y tiempo de desarrollo. depende de subrutinas y las siguientes estructuras básicas:
- Secuencias: Es el orden de las instrucciones a ejecutar.
- Instrucciones Condicionales o Selecciones: Es un elemento que da la posibilidad de elegir entre dos instrucciones tras evaluar el estado de una condición.
- Iteraciones: Es la repetición de una instrucción o grupo de instrucciones mientras se cumple una condición.
Además, ABAP es un lenguaje orientado a eventos, ya que la secuencia de las instrucciones depende del cumplimiento de una condición/evento.
2 | Un poco de historia de ABAP
ABAP fue desarrollado en los '80 por SAP para la elaboración de reportes para SAP R/2, en esos momentos ABAP era una mezcla de COBOL y SQL. La idea era de que ABAP sería un lenguaje de programación accesible para que los usuarios finales del sistema SAP pudieran manipular la información, aunque con el paso del tiempo y las versiones ABAP empezó a volverse demasiado complejo para los usuarios comunes, por lo que los programadores especializados se volvieron necesarios.
ABAP se mantuvo como el lenguaje de desarrollo para la versión cliente-servidor de SAP R/3, en la que casi todo el sistema, menos las llamadas al sistema básicas estaban escritas en ABAP.
En el '99, con el lanzamiento de la versión 4.6 de R/3, SAP lanzó una extensión orientada a objetos denominada ABAP Objects, la cual le dió la capacidad de operar con objetos.
3 | Las principales fortalezas de ABAP
Aunque no sea un lenguaje tan conocido, ABAP tiene bastantes puntos fuertes:
- Usa sentencias OPEN SQL: Esto le da una compatibilidad con prácticamente cualquier base de datos, lo cual era importante antes de que HANA se volviese la única opción de base de datos.
- Es un lenguaje estructurado que soporta POO y programación orientada a eventos: Por lo tanto puede tomar los beneficios de estos paradigmas.
- Cuenta con miles de funciones para el manejo de archivos, bases de datos, fechas, caracteres, entre otros.
- Permite conexiones RFC para conectar sistemas SAP con cualquier otro sistema o lenguaje de programación.
- Permite la creación de aplicaciones multidioma: No hace falta crear de cero el programa para traducir los textos de nuestra aplicaciones.
- Posee un programa de ayuda muy potente para analizar la sintaxis y semántica del lenguaje: La cual es accesible con la tecla F1 sobre la sentencia en cuestión.
- Permite la realización de reportes de forma rápida y sencilla.
4 | Las herramientas propias de ABAP
ABAP posee algunas herramientas propias del lenguaje que no están presentes en otros entornos de desarrollo. Las más relevantes son las siguientes:
Diccionario de datos ABAP (Transacción SE11):
Es un punto de referencia para los programadores ya que permite aislarles el sistema de gestión de base de datos que esté siendo utilizado. Desde una pantalla se puede crear, modificar y borrar los objetos de bases de datos, entre ellas se incluyen tablas base de datos, las estructuras, las vistas, los elementos de datos y los dominios.
Las definiciones de las tablas bases de datos pueden referenciarse de forma directa en los programas para 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.
Editor de programas (Transacciones SE38 y SE80):
Son transacciones que permiten efectuar una verificación de sintaxis y aceptar sugerencias del dispositivo de corrección automática que viene incluido.
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.
Screen Painter (Transacción SE51):
Con esta herramienta creamos rápidamente GUIs con una amplia gama de elementos de control, como botones de pulsación, botones de radio, checkboxes, etiquetas, campos de entrada, listas de bases de datos, etc.
Las pantallas creadas se denominan dynpros y en ellas se incluye la definición de la pantalla, sus campos y la lógica de proceso de la misma. Dicha lógica está dirigida por eventos.
Entorno de depuración (Dentro de la transacción SE38):
El modo debugging de ABAP. Tiene todas las ventajas que se puede esperar de un debugger, como la creación de breakpoints y watchpoints, la ejecución paso a paso y la ejecución por bloques entre otras herramientas. Todo mientras se puede ver el código fuente del programa, lo cual facilita la localización exacta del lugar del error.
Otras herramientas:
Hay muchísimas más herramientas además de estas. Aunque su uso no es tan frecuente, entre estas herramientas está el Menu Painter, el análisis del tiempo de ejecución, el Class Builder, el Function Builder, etc.
5 | Las modificaciones al sistema estándar de SAP
Para que los usuarios puedan hacer pequeñas adaptaciones a gusto SAP deja espacios en el sistema estándar para que los usuarios los llenen con el código ABAP que necesiten. Estos huevos son llamados Ampliaciones.
Las principales ampliaciones son:
Customer Exits (Transacciones CMOD y SMOD):
Son transacciones empleadas para administrar las ampliaciones de usuario.
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 SAP.
BADIS (Business Adds-ins, Transacciones SE18 y SE19):
Son un nuevo tipo de extensión basado en el uso 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. Nótese que las transacciones SE18 y SE19 son usadas para la definición y declaración de las denominadas BADIS.
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 usan para crear o agregar datos o configuraciones adicionales a las tablas bases de datos y estructuras estándar de SAP.
6 | Los consultores SAP
Los consultores SAP pueden definirse son los profesionales que ofrecen servicios para la implementación, optimización y ejecución de los productos SAP y otros sistemas. Esto implica la adaptación del sistema SAP a lo que cada empresa quiera y necesite.
Dentro del ecosistema hay 3 tipos de consultores, estos son:
Consultor funcional:
Estos consultores son los que tienen conocimientos enfocados a un área funcional o módulo del sistema y están encargados de asesorar a las empresas, ayudarles a configurar el sistema SAP teniendo en cuenta sus necesidades, y formar al personal asignado por la empresa para que pueda desempeñarse sin su ayuda constante.
Consultor SAP Basis:
Cuando hablamos de SAP Basis, nos referimos a la base técnica de las aplicaciones SAP. SAP Basis es la forma "clásica" de nombrar a la administración de la plataforma operativa del sistema. Esta plataforma es llamada actualmente SAPNetweaver.
Estos consultores son los que tienen la responsabilidad de administrar el entorno SAP y garantizar la integridad del sistema. Esto involucra realizar tareas de mantenimiento, actualización y generación de backups. Además, gestionan SAP Netweaver para que optimice los recursos del sistema correctamente.
Consultor técnico:
También conocidos como Consultores ABAP, Desarrolladores ABAP, Programadores ABAP o ABAPERs. Estos son los que poseen conocimientos técnicos dentro del sistema SAP. Usualmente son programadores ABAP, aunque podríamos estar hablando de otros perfiles dependiendo de la tecnología utilizada.
7 | El ciclo de trabajo de un consultor ABAP
Cada empresa tiene su propia burocracia y metodología que definirá el flujo de la información y que idóneamente le dará a los consultores una cantidad adecuada de tiempo para el trabajo.
Un ejemplo de una línea de tiempo sería la siguiente:
1° El requerimiento del cliente al consultor funcional
Es raro que un cliente se ponga en contacto con un consultor ABAP de forma directa. En cambio, lo que suele pasar (y es correcto que pase) es de que el cliente se ponga en contacto con un consultor funcional especializado en el área funcional de interés, este puede ser, por ejemplo, un especialista del módulo SD.
El cliente le explicará sus necesidades al consultor funcional y este analizará si es posible satisfacer al cliente "parametrizando" el sistema SAP, es decir, averiguará si es posible resolver la necesidad configurando el sistema a través de las transacciones existentes. Si existen herramientas para hacer lo que necesita el cliente entonces solo se la implementa.
En caso opuesto, el consultor funcional y el consultor técnico (el programador ABAP) se ponen a trabajar en equipo.
2° La elaboración del Diseño funcional:
Usualmente, tras recibir la información el consultor funcional haga la documentación conocida como "Diseño Funcional", el cual es la documentación que se le da al Consultor técnico para aclarar lo siguiente:
- Si se tiene que hacer un programa nuevo o si se tiene que modificar uno 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 modificación/es.
- 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.
- Información necesaria o útil que se le da en documentos al consultor ABAP.
Una vez entregado este documento, el consultor técnico hará los suyos, los cuales se llaman "Diseño Técnico", el cual indica el trabajo que se deberá realizar desde el punto de vista técnico, por lo tanto se detalla:
- El nombre del programa a crear
- Los campos que componen lo que se denomina en ABAP la pantalla de selección.
- La forma de acceder a las tablas de la base de datos para obtener información.
- Las 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.
Usualmente este es el punto en el que se incluye una estimación de las horas que se estima serán necesarias para realizar o modificar el programa. Este estimativo origina de un acuerdo entre el Consultor Funcional y el Técnico ABAP en base a:
- La dificultad de la tarea a realizar.
- La experiencia que posee el Consultor ABAP como programador.
3° La ejecució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 la modificación a realizar.
Al terminarlo lo probará, realizando lo que se conoce como "Pruebas Unitarias", es decir pruebas básicas para asegurarse de que el programa cumple con los requisitos que fueron solicitados y luego le avisa al consultor funcional.
El consultor funcional a su vez realizará sus propias pruebas, las cuales se le conocen como "Pruebas Integrales", las cuales son mucho más rigurosas. Si todo funciona como debería se le avisa al cliente y se considera satisfecho el requerimiento establecido en un principio.
Nótese que la programación del requerimiento puede ser efectuada por el mismo Consultor ABAP que elaboró el diseño técnico o puede ser asignada a otro consultor ABAP, lo cual en ciertos casos resulta más eficiente ya que en esencia funciona como un segundo opinión.
 
 
 
Sobre el autor
Publicación académica de Mauricio Javier Solis Ibañez, en su ámbito de estudios para la Carrera Consultor ABAP.
Mauricio Javier Solis Ibañez
Profesión: Técnico Electrónico - Argentina - Legajo: CF20Z
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime