
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 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
ABAP Development Workbench o Entorno de Desarrollo ABAP, se compone de una serie de herramientas integradas, que permiten crear desarrollos nuevos en poco tiempo, en caso de que la funcionalidad que ofrece el sistema estándar no se ajuste completamente a las necesidades del cliente
Podemos decir que ABAP es un lenguaje de programación estructurado en el cual solo se puede recurrir únicamente a subrutinas y tres estructuras básicas que son las siguientes:
- Secuencia: es el orden en que las instrucciones deben ser ejecutadas
- Instrucción Condicional o Selección: 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.
- Iteración: 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.
Las principales fortalezas de ABAP
Entre las principales fortalezas tenemos las siguientes:
Ø Utiliza sentencias de OPEN SQL para conectarse con prácticamente cualquier base de datos.
Ø 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.
Ø Cuenta con miles de funciones para el manejo de archivos, bases de datos, fechas, caracteres, entre otros.
Ø Permite conexiones RFC (Remote Function Call) para conectar a los sistemas SAP con cualquier otro sistema o lenguaje de programación.
Ø Permite la creación de aplicaciones multidioma.
Ø Posee una ayuda muy potente sobre la sintaxis y la semántica del lenguaje.
Ø Permite la realización de reportes en forma rápida y sencilla.
Las herramientas propias de ABAP
Ø El Diccionario de Datos ABAP (Transacción SE11): es el punto de referencia para los programadores ya que permite aislarles del 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 base de datos, las estructuras, las vistas, los elementos de datos y los dominios.
Ø El Editor de programas (Transacciones SE38 y SE80): el editor ABAP, tiene múltiples características que facilitan la programación enormemente.
Nos permite efectuar una verificación de sintaxis, aceptar las sugerencias del dispositivo de corrección automática que tiene incluido, 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 visión de conjunto de la estructura general del programa
Ø 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.
Ø El Entorno de depuración (Dentro de la transacción SE38): el modo debugging de ABAP 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, 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: existen una gran variedad de herramientas adicionales cuyo uso no es tan frecuente como el Menu Painter, el análisis del tiempo de ejecución, el Class Builder, el Function Builder, etc.
Las modificaciones al sistema estándar de SAP
Para que los usuarios puedan adaptar el sistema a sus propias necesidades, SAP deja espacios o huecos en el sistema estándar denominados Ampliaciones, a los fines de que se puedan extender 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 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.
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.
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.
Es recomendable la especialización en un módulo en particular.
Consultor 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 tecnología utilizada
El ciclo de trabajo de un Consultor ABAP
Cada empresa tiene su propia metodología de trabajo, pero las podemos resumir en las siguientes interacciones:
1. Reunión del usuario con el consultor funcional
2. El Consultor elabora el “Diseño Funcional” y se lo envía al “Consultor Técnico”
3. El Programador lo recibe y ejecuta la petición