✒️ABAP / El lenguaje de programación ABAP Por Yeny Yanes Bautista
ABAP El lenguaje de programación ABAP

El lenguaje de programación ABAP
¿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 tambien es conocida como SAP ABAP.
Es un lenguaje de programación de muy alto nivel, fácil de leer y se aprende rápidamente.
Este entorno que SAP denomina ABAP Developmente Workbench o Entorno de Desarrollo ABAP, se compone de una serie de herramientas integradas, que permiten crear desarrollo nuevos en poco tiempo.
ABAP es un lenguaje de programación estructurado.
La programacion estructurada es un paradigma de programación orientado a mejorar la claridad, la calidad y el tiempo de desarollo de un programa de computación, que surge a finales de los años 70, en el cual solo se puede recurrir unicamente a subrutinas y tres estructuras básicas que son las siguientes:
- Secuencias: es el orden en que las instrucciones deben ser ejecutadas
- Instrucciones Condiciones o Selecciones: es la posibilidad de poder elegir entre dos instrucciones y la decision se tomará en base a una evolución, a la cual se le llama condicipon.
- Iteraciones: es la repetición de una instruccion o grupo de instrucciones mientras se cumple una condición
ABAP tambien es una 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.
Reportes: Son un tipo de programa ABAP donde generalmente existe una pantala de seleccion en donde se introducen ciertos parametros, luego a apartir de estos parametros se realiza una seleccion de datos a tablas bases de datos estandar de SAP o tablas de datos Z y finalmente se muestran los dats obtenidos por pantalla mediante la utilizacion de la sentencia write.
Las principales fortalezas de ABAP
- Utiliza sentencias de Open SQL para conectarse con prácticamente cualquier base de datos.
- Es un lenguaje de programacion estructurado, que tambien puede ser programado orientado a eventos y tambien puede programarse utilizando la orientación a objetos.
- Cuenta con miles de funciones para el manejro de archivos, base de datos, fechas, caracteres, entre otros.
- 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 tales como JAVA, ETC.
RFC: Es una llamada a función remota como sus siglas en ingles indican (Remote Function Call). Se trata de un protocolo que permite a un programa ejecutar código en otra maquina remota sin tener que preocuparse por las comunicaciones entre ambos dado que ha sido configurada previamente por el administrador del sistema.
En SAP configuramos las RFC en la transacción SM59 y es allí donde se indica el tipo de RFC, si es de confianza o no, si los datos que viajan va a utilizar el sistema universal de codificación o si se utiliza un juego de caracteres especial en este caso configurado en la instalación del sistema, 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 aplicacion sin necesidad de tener que volver a crearla.
- Posee una ayuda muy potente sobre la sintaxis y la semantica del lenguaje: simplemente con presionar la tecla F1 sobre la sentencia que queramos.
- Permite la realizacion de reportes en forma rapida y sencilla: dispone de varias opciones para la realizacion de reportes de forma rápida.
Las herrramientas propias de ABAP
ABAP posee algunas heramientas que son propias del lenguaje yq eu no están presentes en otros entornos de desarrollo. Las más importantes son las siguientes:
- El diccionario de datos ABAP (Transaccion SE11)
La transaccion SE11 "Diccionario de datos ABAP" se utiliza para la administración de todas las definiciones de datos utilizadas en el sistema SAP.
- El editor de programas (Transacción SE38 y SE80): Nos permite efectuar una verificacion de sintaxis y aceptar las sugerencias del dispositivo de corrección automatica que tiene incluído.
Ambas transacciones estándares son utilizadas para el desarrollo de aplicaciones o programas ABAP dentro del sistema SAP.
- El screen painter (Transaccion SE51): con esta herramienta crearemos rapidamente interfaces gráficas de usuario incluyendo una amplia gama de elementos de control, como botones de pulsación, boton de radio, checboxes, 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 del proceso de la misma.
Dynpros: es el sinonimo de pantalla dentro de SAP. Cada dynpro tiene asignado un numero compuesto por 4 dígitos númericos. 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.
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".
La transacción 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 posblemente 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 breapoints y watchpoints, le ejecucipon paso a paso, la ejecución por bloques, entre muchas mas, pero ademas nos permite hacer todo esto viendo el código fuente del programana, 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 el menú painter, el analisis del tiempo de ejecución, el class builder, el function builder, etc.
Las modalidades al sistema estandar de SAP
Para que los usuarios puedan adaptar el sistema a sus propias necesidades, SAP deja espacios en el sistema estandar de modo que los usuarios puedan satisfacer sus requerimientos, agregando en estos huecos e código ABAP necesario para ello.
A estos huecos se los denomina Ampliaciones, ya que con ellos se amplía o extiende las funcionalidades del sistema estandar
Las principales ampliaciones que existen en SAP son las siguientes:
- Customer Exits (Transacciones CMOD y SMOD): son espacios que SAP deja en el sistema estandar para que los usuarios agreguen código para validaciones y mejores.
Las transacciones CMOD y SMOD son utilizadas para la administración de las denomInadas ampliaciones de usuario del sistema SAP.
- Field Exits (Trasaccion CMOD y escribir PRFB): tambien 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 extension al sistema SAP basado en la utilizacion de objetos ABAP para la implementación de alidaciones y ampliaciones al código estandar de SAP sin tener que modificar el código estandar.
Las transacciones estándares SE18 y SE19 son utilizadas para la definicion y la declración de las denominadas BADIS en el sistema SAP.
- Enhancements (Desde la misma transaccion SE38): son ampliaciones al código estandar 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 de SAP
Un consultor SAP puede definirse como un profesional que ofrece servicios para la implementación, optimizacion y ejecución de los productos de SAP y otros sistemas que mediante interfaz con SAP aseguran el maximo aprovechamiento de los conocimientos y las herramientas de tecnología en beneficio de la compañía.
Requisitos para ser un buen consultor ABAP
01. Parametrizar
02. Escuchar
03. Analizar
04. Hablar
05. Aprender
06. Colaborar
07. Correr
Dentro del ecosistema SAP existen basicamente 3 tipos de cosultores, estos son:
- Consultor Funcional: son aquellos profesionales que tienen el conocimiento de un area funcional o módulo del sistema y están encargados de ayudar a las empresas a configurar el sistema SAP, de acuerdo a 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 area funcional del sistema SAP, sin embargo, para que sea mas sencillo de dominar es importante la especializacion en un módulo en particular.
- 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.
- Consultor Técnico: son las personas que poseen conocimiento técnico dentro de SAP. Nos referimos a los programadores ABAP, pero tambien podríamos estar hablando de otros perfiles dependiendo de la tecnología utilizada. Cuando hablamos de Consultor técnico ABAP, Consultor ABAP, Desarrollador ABAP, Programador ABAP o ABAPER nos estamos refiriendo a lo mismo.
Entre las funciones del consultor ABAP podemos mencionar:
* Gestionar el diseño, desarrollo, implementacion de proyectos ABAP.
* Revisar los diseños técnicos para cumplir con los requisitos del proyecto ABAP
* Recomendar mejoras en los procesos para lograr los objetivos del proyecto
* Proporcionar orientación técnica y funcional a otros empleados
* Proporcionar atencion al cliente a los largo del proyecto
* Realizar un analisis de fallas
* Colaborar con los propietarios funcionales
 
 
 
Sobre el autor
Publicación académica de Yeny Gisela Yanes Bautista, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Yeny Gisela Yanes Bautista
Profesión: Ingeniera en Sistemas - Honduras - Legajo: XC34C
✒️Autor de: 46 Publicaciones Académicas
🎓Egresado de los módulos:
- Master Funcional ABAP
- Master ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial






Disponibilidad Laboral: FullTime


















