✒️ABAP / El lenguaje de programación ABAP Por Mara Romero Hernandez
ABAP El lenguaje de programación ABAP

¿QUE 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.
SAP= Advance Business Application Programming
Programación Avanzada de Aplicaciones de Negocio
SAP es enorme en cuanto a aplicaciones,pero existe la posibilidad que el cliente que adquiere el sistema SAP, tenga alguna necesidad específica de su negocio que no esté contemplado en el sistema estándar.
También puede ser la funcionalidad que ofrece el sistema estándar no se ajuste completamente a las necesidades del cliente.
Este entorno que SAP denomina ABAP Development Workbench o Entorno de desarrollo ABAP, se compone de una serie de herramientas integradas que permiten crear desarrollos nuevos en poco tiempo.
El lenguaje de programación ABAP se caracteriza por su total integración en el sistema SAP.
Es un lenguaje de programación estructurado
Está orientado a mejorar la claridad, la calidad y el tiempo, de desarrollo de un programa de computación, se puede recurrir únicamente a subrutinas y tres estructuras básicas que son:
Secuencias: es el orden en las que las instrucciones deben 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 llama condición.
Iteraciones: es la repetición de una instrucción o grupo de instrucciones mientras se cumple una condición.
Es un lenguaje orientado a eventos.
ABAP se desarrolló en los años 80 como un lenguaje de programación para elaborar reportes.
ABAP fue pensado como un lenguaje de programación para que los usuarios finales del sistema SAP pudieran manipular la información, pero con el paso del tiempo y de las versiones, el lenguaje de cuarta generación se fue volviendo demasiado complicado para usuarios comunes, por lo que fue necesario programadores experimentados para realizar desarrollos.
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 sistema básicas estaban escritas en ABAP.
En 1999 con el lanzamiento de la versión 4.6 de R/3, SAP lanzó una extensión orientada a objetos denominada ABAP Objects.
La incorporación de los objetos ABAP no convirtió a ABAP en un lenguaje orientado a objetos, sino que permite que determinadas funcionalidades pueden ser pensadas y desarrolladas utilizando POO.
- Principales fortalezas de ABAP
- 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 otras 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 de 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 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 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. 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 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.
Transacción SE11
La transacción estándar SE11 "Diccionario de datos ABAP" 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.
Nos permite efectuar una verificación de sintaxis y aceptar las sugerencias del dispositivo de corrección automática que tiene 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. De esta manera, el programador obtiene una buena estructura general del programa.
Transacciones SE38 y SE80
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.
Transacción SE51
La transacción estándar SE51 "Screen Painter" es utilizada para la creación de las denominadas pantallas o dynpros, que es el termino propio de SAP.
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 paso a paso, la ejecución por bloques, entras muchas 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.
BREAKPOINTS: Son puntos de control que se colocan en el programa, para que al ejecutarse se detenga el procesamiento en esos puntos, de modo de poder analizar un posible error o la razón por la cual ciertas variables adquieren determinados valores. Es indispensable para un programador ABAP saber utilizar a la perfección esta poderosa herramienta que nos brinda el Debuger ABAP ya que de esta manera es como se pueden descubrir los errores en las aplicaciones. Existen dos tipos de breakpoints: Breakpoints de sesión: Estos puntos de interrupción solo son válidos...
WATCHPOINTS: Son expresiones que detienen la ejecución de un programa cuando la variable o valor en cuestión cambia de valor o adquiere el valor de parada.
Al igual que breakpoints, un watchpoint es un indicador en un programa que indica al procesador ABAP en tiempo de ejecución que interrumpa el programa en un punto determinado. Sin embargo, a diferencia de los breakpoints, los watchpoints no se activan hasta que cambia el contenido de un campo especificado. Los watchpoints, como los breakpoints dinámicos, son específicos del usuario y por lo tanto, no afectan...
- Las modificaciones al sistema estándar de SAP
Para que los usuarios puedan adaptar el sistema a sus propias necesidades, 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.
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 mejoras.
Transacciones CMOD y SMOD:
Las transacciones estándares CMOD y SMOD son utilizadas para la administración de las
denominadas ampliaciones de usuario 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.
Transacciones SE18 y SE19
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.
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.
- 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: tal como hablamos en las lecciones anteriores, SAP es un sistema muy extenso, compuesto por diferentes áreas funcionales o módulos, que a su vez se dividen en submódulos que contienen más procesos y subprocesos.
Los consultores funcionales de SAP 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.
Hay consultores funcionales que pueden decirse especialistas en más de un módulo o área funcional del sistema SAP, sin embargo, para que sea más sencillo de dominar es importante la especialización en un módulo en particular.
Ya que intentar abarcar todos los módulos a la vez puede ser una tarea imposible.
Con la práctica aún en un solo módulo de SAP, es seguro que vamos a tener al menos conocimientos generales de otros módulos ya que recordemos que SAP al ser un sistema ERP
entrelaza los distintos módulos.
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.
Los consultores especialistas en SAP Basis tienen 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: cuando hablamos de 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 tecnologia utilizada.
Dentro del mundo ABAP, cuando hablamos de Consultor Técnico ABAP, Consultor ABAP,
Desarrollador ABAP, Programador ABAP o ABAPER nos estamos refiriendo a lo mismo.
- El ciclo de trabajo de un consultor ABAP
A continuación, vamos a explicar cómo es la interacción de los Consultores ABAP con los Consultores Funcionales de SAP y como es la metodología de trabajo más comúnmente utilizada en el ciclo de vida de desarrollo de SAP.
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.
Aunque en primera instancia pudiera parecer un tanto burocrática, la misma garantiza la calidad del producto final y la organización del trabajo a realizar, ya que "en teoría" los tiempos han sido calculados con antelación, no teniendo que trabajar a las apuradas o con demasiado tiempo
ocioso improductivo.
2° 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 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.
- 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 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.
Normalmente aquí también se incluirá la estimación de las horas que se presume insur realizar o modificar el programa. Esta estimación por la general se elabora de común acue
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 programador.
3° 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 en un principio.
 
 
 
Sobre el autor
Publicación académica de Mara Fadua Romero Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Mara Fadua Romero Hernandez
Profesión: Psicóloga - Mexico - Legajo: EE18E
✒️Autor de: 67 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Mara Romero






Disponibilidad Laboral: FullTime


















