![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP El lenguaje de programación ABAP
SAP El lenguaje de programación ABAP
![SAP El lenguaje de programación ABAP SAP El lenguaje de programación ABAP](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/88.jpg)
El lenguaje de programación ABAP
¿Qué es ABAP?
Es un lenguaje de programación de SAP que se utiliza para programar en SAP ECC y SAP S/4HANA.
Sus siglas significan Advanced Business Application Programming, es decir Programación Avanzada de Aplicaciones de Negocio.
Es un lenguaje de muy alto nivel, fácil de leer y se aprende rápidamente.
A pesar de que SAP haya desarrollado una gran cantidad de aplicaciones hay veces en que los clientes tengan una necesidad tan específica que no esté contemplada en el sistema estándar, también se da el caso de que la funcionalidad que ofrece el sistema no se ajuste completamente a las necesidades del cliente.
Este entorno que SAP denomina ABAP Development Workbench (Entorno de Desarrollo ABAP) se compone de una serie de herramientas integradas que permiten crear desarrollos nuevos en poco tiempo.
ABAP se caracteriza por su integración completa en el sistema SAP. El software de aplicación que el cliente recibe cuando adquiere SAP está escrito en ABAP.
Es un lenguaje de programación estructurado.
La programación estructurada es un paradigma de programación orientado a mejorar la claridad, la calidad y el tiempo de desarrollo de un programa, tiene tres estructuras básicas:
- Secuencia: Es el orden en que las instrucciones deben ser ejecutadas.
- Instrucción Condicional o Selección: Es la posibilidad de 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, donde la secuencia de instrucciones depende del cumplimiento de una condición o evento.
La programación orientada a eventos es un paradigma de la 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 la propia empresa.
ABAP se utiliza para realizar nuevos desarrollos o modificar los desarrollos existentes para todas las áreas funcionales, módulos o líneas de negocio del sistema SAP.
Un poco de historia de 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 era un mezcla entre el COBOL y el SQL.
Fue pensado para que los usuarios finales del sistema SAP pudieran manipular la información, pero con el paso de tiempo y las versiones el lenguaje se fue volviendo demasiado complicado para los usuarios comunes, por lo que fueron necesarios programadores experimentados para realizar desarrollos.
ABAP se mantuvo como el lenguaje de desarrollo para la versión cliente-servidor de SAP R/3.
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. Su incorporación no convirtió a ABAP en un lenguaje orientado a objetos, sino que permite que determinadas funcionalidades puedan ser pensadas y desarrolladas utilizando POO.
Las principales fortalezas de ABAP
- 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 orientado a objetos.
- Cuenta con miles de funciones para el manejo 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.
- 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 las 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 tablas base de datos, estructuras, vistas, elementos de datos y dominios.
Es utilizada para la administración de todas las definiciones de datos utilizadas en el sistema SAP.
Las definiciones de las tablas pueden ser referenciadas directamente en los programas permitiéndonos modificar posteriormente las tablas sin tener que cambiar los programas.
°El Editor de programas (Transacciones SE38 y SE80)
Ambas son utilizadas para el desarrollo de aplicaciones o programas ABAP dentro del sistema SAP.
Nos permite efectuar una verificación de sintaxis y aceptar las sugerencias del dispositivo de corrección automática que tiene incluido. También resalta las palabras clave y permite tener en forma de estructura jerárquica que ofrece la posibilidad de ocultar o desglosar bloques sintácticos.
°El Screen Painter (Transacción SE51)
Con esto crearemos interfaces gráficas de usuario de forma rápida, 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 dats, etc.
Las pantallas que se crean 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.
°El Entorno de depuración (Dentro de la transacción SE38)
Es posiblemente las herramienta más alabada por los programadores. Tiene todas las ventajas de ayudas a la programación, como la creación de breakpoints, watchpoints, ejecución paso a paso, ejecución por bloques, etc. Pero además permite hacer todo esto viendo el código fuente del programa.
Las modificaciones al sistema estándar de SAP
Para que los usuarios se puedan adaptar al 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 de los denomina Ampliaciones, ya que que con ellos se amplía o se extienden las funcionalidades del sistema estándar.
Las principales ampliaciones 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.
Son utilizadas para la administración de las denominadas ampliaciones de usuario del sistema SAP.
°Field Exits (Transacciones 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 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.
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 la 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 quiera 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.
Existen 3 tipos de consultores:
°Consultor Funcional
Son aquellos profesionales que tienen el conocimiento de una área funcional o módulo del sistema y son 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 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 área 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 abarcar todos los módulos a la vez puede ser una tarea imposible.
°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 información. Gestionan la plataforma operativa SAPNetweaver, para que funcione siempre correctamente optimizando recursos en el sitema.
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
Dentro del mundo ABAP, cuando se habla de Consultor Técnico ABAP, Consultor ABAP, Desarrollador ABAP, Programador ABAP o Abaper se refiere a lo mismo.
Los desarrolladores ABAP no solo realizan la programación, sino que también se encargan de confeccionar la documentación, realizar pruebas, asesorar a los consultores funcionales en cuestiones técnicas, optimizar el sistemas, entre otras cosas.
El ciclo de trabajo de un Consultor ABAP
Cada empresa posee su propia metodología de trabajo, esta metodología afecta directamente la manera en la que información fluye entre los distintos niveles jerárquicos de la empresa.
1° El requerimiento del Cliente al Consultor Funcional
El gerente de ventas cita a un Consultor Funcional SAP, luego el Consultor Funcional analizará el pedido del cliente y evaluará su ese trabajo de puede realizar parametrizado. Si se puede realizar la adaptación mediante parametrización, o si SAP ya nos brinda dicho reporte y el mismo satisface las necesidades de información del cliente, será cuestión de utilizarlo y el trabajo habrá terminado.
Lo que suele suceder es que si el requisito del cliente excede a una parametrización o un reporte ya existente es ahí cuando el Consultor Funcional y el Consultor Técnico se ponen a trabajar en equipo.
2° La elaboración del Diseño Funcional
La forma más básica de realizar este trabajo es que el Consultor Funciona inicie elaborando una documentación llamada "Diseño Funcional", en el que se le indicará al Consultor Técnico lo siguiente:
- Si se trata de hacer un programa nuevo o modificar uno existente
- La funcionalidad del programa
- El detalle de la interfaz gráfica de selección de datos que debe tener el programa o las modificaciones
- Las tablas de bases de datos que se accederán para obtener la información del programa
- Las pruebas básicas a realizar luego de que el programa esté terminado
- Documentación que se crea necesaria o útil al Consultor ABAP
Una vez que el Consultor Funcional elaboró el "Diseño Funcional" en base a la metodología de 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 donde se especifica el trabajo que deberá realizar desde el punto de vista técnico:
- 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
También se incluirá la estimación de las horas que se presume se necesitarán para realizar o modificar el programa, se elabora entre el Consultor Funcional y el Consultor Técnico BAP 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á con el desarrollo o modificación del programa a realizar.
Cuando lo termine lo probará realizando "Pruebas Unitarias", es decir pruebas básicas para asegurarnos que el programa cumple con los requisitos que nos solicitaron y aviará al consultor funcional.
El Consultor Funcional realizará sus propias pruebas que se conocen como "Pruebas Integrales", en donde se probará el programa rigurosamente y si todo está bien avisará al cliente, cerrando de esta manera el requerimiento establecido en un principio.
 
 
 
Sobre el autor
Publicación académica de Andrea Campero Pérez, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.
Andrea Campero Pérez
Profesión: Estudiante - Mexico - Legajo: GC79C
✒️Autor de: 25 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Andrea Campero