✒️SAP El lenguaje de programación ABAP
SAP El lenguaje de programación ABAP
EL LENGUAJE DE PRAGAMACION ABAP
ABAP (Programación Avanzada de Aplicaciones de Negocio) es un lenguaje de programación de cuarta generación, propietario de SAP, utilizado para programar sus productos SAP ECC y S/4HANA.
Este es un lenguaje de programación estructurado, el cual es un paradigma de programación orientado a mejorar la claridad y el tiempo de desarrollo de un programa de computación, que surge a finales de los años 70, en el cual solo se puede recurrir a subrutina y a 3 estructuras básicas, que son:
- Secuencia: es el orden en que las instrucciones deben ser ejecutadas.
- Instrucción, condicional o selección: es la posibilidad de poder elegir entre 2 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 o un grupo de instrucciones mientras se cumple una condición.
También podemos decir que ABAP es un lenguaje de programación 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.
ABAP fue desarrollado por SAP como un lenguaje de programación para elaborar reportes en el sistema SAP R/2 en la década de los 80. En sus inicios era una mezcla de COBOL y SQL.
ABAP Objects: es una extensión del lenguaje ABAP orientada a objetos lanzada por SAP en el año 1999, con la puesta en marcha de la versión 4.6 de SAP R/3. La incorporación de objetos no convirtió a ABAP en un lenguaje de programación orientado a objetos, sino que le permitió poder desarrollar determinadas funcionalidades utilizando POO.
Principales fortalezas del lenguaje ABAP:
- Utiliza sentencias de Open SQL para conectarse con prácticamente cualquier base de datos.
- Es un lenguaje de programación estructurado, que 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 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.
Herramientas propias y más importantes de ABAP:
- El diccionario de datos (transacción SE11)
- El editor de programas (transacciones SE38 y SE80)
- El screen painter (transacción SE51)
- El entorno de depuración (dentro de la SE38)
- Menú painter, class builder, function builder, entre otras de uso menos frecuente.
Las ampliaciones de SAP: son huecos o espacios dejados en SAP para extender las funcionalidades del sistema estándar a través de la programación ABAP; las principales son:
- Customer Exits (transacciones CMOD y SMOD)
- Field Exits (transacciones CMOD y escribir PRFB).
- Business Adds-Ins – BADIS (transacciones SE18 y SE19)
- Enhancements (desde la misma SE38)
- Estructuras Append (desde la misma SE11)
Los 3 tipos de consultores que básicamente existen dentro del ecosistema SAP son los siguientes:
- Funcional
- Técnico
- Basis
METODOLOGIA DE DESARROLLOS INTERNOS EN SAP
No es buena práctica que los usuarios dueños de los procesos contacten al Abaper directamente para realizar los requerimientos de sus áreas. Lo correcto sería:
- Comunicar su necesidad o requerimiento al consultor funcional del módulo SAP correspondiente.
- El funcional verificara si en la solución estándar ya existe una herramienta o transacción que pueda satisfacer la necesidad del área; de lo contrario,
- Evalúa el requerimiento, determinando si se puede realizar parametrizando el sistema SAP, cuidando en todo momento que dichos cambios no tengan impacto negativo en otros módulos del sistema, ya que se trata de una solución integral.
- Si la solución no está contemplada en el sistema, ni se puede satisfacer la necesidad parametrizando el mismo, entonces el consultor funcional debe proceder a realizar el diseño funcional, el cual pasará al consultor técnico (Abaper), en el que deberá indicar los siguientes aspectos:
- Si se trata de un programa nuevo o modificación de uno existente
- La funcionalidad del programa a realizar
- Detalle de la interfaz gráfica de selección de datos que debe tener el programa o bien la o las modificaciones.
- Las tablas de la base de datos a acceder para obtener la información del programa
- Las pruebas básicas a realizar luego que el programa esté terminado
- Cualquier otro tipo de información que entienda sea de utilidad para el Abaper
- 5) En base al diseño recibido (funcional), el consultor técnico (Abaper) debe realizar el diseño técnico, especificando:
- El nombre del programa que va a crear
- Los campos que componen la pantalla de selección
- La forma de acceder a la base de datos para obtener la información
- Las validaciones que se realizaran en el programa
- Si se imprimirán datos en pantalla
- Si se generara un archivo de salida
- Tiempo estimado que tardara realizando o modificando el programa (en base al nivel de complejidad y a la experiencia del Abaper)
- El Abaper procede con el desarrollo de la mejora
- Realiza las pruebas básicas o unitarias para asegurarse que el programa cumple con los requisitos solicitados por el funcional
- Notificar al consultor funcional, quien procede a realizar pruebas rigurosas (integrales), y de estar todo bien entonces entregaría al usuario final, solo quedando pendiente el pase de la orden SAP al ambiente de producción, para dar por cerrado el requerimiento.
Si tenemos más de un Abaper, sería recomendable que el que realice el diseño técnico no sea el mismo que desarrolle la mejora, para incorporar la visión de otro especialista en el área y prever cualquier error heredado de la especificación técnica.
 
 
 
Sobre el autor
Publicación académica de Victor Ortiz Méndez, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.
Victor Ortiz Méndez
Profesión: Ing. Sistemas / Lic. Derecho - Republica Dominicana - Legajo: FK94D
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Soy victor ortiz, ingeniero de sistemas y computación, especializado en auditoría de sistemas computarizados, con maestría en tecnología de la información y varias certificaciones de la industria it.
Certificación Académica de Victor Ortiz