✒️SAP / Los perfiles que trabajan en SAP Por Paz Ada
Los perfiles que trabajan en SAP

Unidad 1
Módulo Lenguaje de programación ABAP
1. ¿Qué es ABAP?: es un lenguaje de programación de 4 generación, propiedad de SAP, que se utiliza para la programación en sus productos SAP ECC y SAP S/4HANA. Sus siglas significan: Advance, Business, Application, Programing, es decir Programación Avanzada de Aplicaciones de Negocio, conocido como SAP ABAP, lenguaje de programación de muy alto nivel, fácil y rápido de leer y aprender.
Aunque la cantidad de aplicaciones desarrolladas por SAP es enorme, siempre existe la posibilidad que el cliente adquiere, tenga necesidades especificas de su negocio y no este contemplada en el sistema estándar, ya que, este cuando se adquiere se encuentra recién salido de fabrica, pudiendo no ajustarse a las necesidades del cliente. Para la resolución de esta situación existe un entorno completo de desarrollo de nuevas aplicaciones integradas al sistema SAP. A este entorno se lo denomina ABAP Development Workbench o Entorno de Desarrollo ABAP, componiéndose de una serie de herramientas integradas, que permiten crear desarrollos nuevos en poco tiempo.

Este se caracteriza por su total integración en el sistema SAP, siendo el software de aplicación, compuesto por millones de líneas de código, que el cliente recibe cuando adquiere SAP está escrito en ABAP, este es un lenguaje de programación estructurado; esta es un paradigma de programación orientado a mejorar la claridad, la calidad y el tiempo de desarrollo de un programa, surgido a finales de los años 70', en el cual solo se puede recurrir únicamente a subrutinas y 3 estructuras básicas:
- Secuencia: orden de las instrucciones en las que deben ser ejecutadas.
- Instrucción Condicional o Selección: posibilidad de poder elegir entre 2 instrucciones, con una decisión tomada en base a una evaluación a la cual se le llama condición.
- Iteración: repetición de una instrucción o grupo de instrucciones mientras se cumple una condición.
Este lenguaje orientado a eventos, donde la secuencia de instrucciones depende del cumplimiento de una condición o evento.

Este es un lenguaje de programación fácil de aprender, esto tiene que ver con la estabilidad del sistema SAP a lo largo del tiempo, habiendo evolucionado paulatinamente con cada una de las versiones que ha sacado a los largo del tiempo habiendo 5 versiones (SAP R/1, SAP R/2, SAP R/3, SAP ECC,SAP S/4HANA) de su producto estrella que es le ERP. En ABAP se fueron incorporando los últimos avances del lenguaje de programación modernos el corazón de ABAP, o sea las bases siguen siendo las mismas.

2. Historia de ABAP: desarrollado por SAP como un lenguaje de programación para la elaboración de reportes para el sistema SAP R/2 en los 80'. Este era un lenguaje de programación mezcla entre COBOL Y SQL, siendo COBOL era el lenguaje de preferencia para los desarrollos de aplicaciones de gestión.

Pensado como un lenguaje de programación para que los usuarios finales del sistema SAP pudieran manipular la información, volviéndose un lenguaje demasiado complicado para usuarios comunes, por lo que se precisaron programadores experimentados para realizar desarrollos, manteniéndose como el lenguaje de desarrollo para la versión cliente-servidor de SAP R/3, la misma fue lanzada en 1992, en la que todo el sistema estaba escrita en ABAP excepto las llamadas básicas. En el 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 esta no se encuentra orientado a objetos, sino que permite que determinadas funcionalidades puedan ser pensadas y desarrolladas utilizando POO.
En las últimas versiones se fueron incorporando al lenguaje las últimas innovaciones tecnológicas de los lenguajes de programación modernos de hoy en día, con la posibilidad de programar en otros entornos de desarrollo diferentes de ABAP Development Workbench.
3. Principales fortaleza de ABAP: puntos fuertes que presenta como lenguaje de programación:
- Utilización de sentencia de OPEN SQL para conectarse prácticamente desee cualquier base de datos.
- Lenguaje de programación estructurado, pudiendo ser programados en la orientación de eventos, también pudiendo ser utilizados a la orientación de objetos.
- Posee miles de funciones para el manejo de archivos, base de datos, fechas, caracteres, entre otros.
- Permite conexiones RFC para conectar a sistemas SAP con cualquier otro sistema o lenguaje de programación.

- Permite la creación de aplicaciones multidioma: traducción de todos los textos de aplicaciones en diferentes idiomas donde se utiliza la aplicación sin necesidad de tener que volver a crearla. Indispensable para empresas multinacionales, con sucursales en distintos países del mundo.
- Posee una ayuda muy potente sobre la sintaxis y la semántica del lenguaje: presionando la tecla F1, sobre la sentencia que deseamos.
- Permite la realización de reportes en forma rápida y sencilla: posee varias opciones para la realización de reportes de forma rápida.

4. Herramientas propias de ABAP: posee algunas herramientas propias del lenguaje pero que no están presentes en otros entornos de desarrollo. Siendo las más importantes:
- Diccionario de Datos ABAP (Transacción SE 11): punto de referencia para los programadores que permite aislarles del sistema de gestión de base de datos que se utilice por debajo. Se puede crear, modificar y borra los objetos de base de datos, incluidas las tablas base de datos, estructuras, vistas, elementos de datos y dominios, todo desde una misma pantalla.

Transacción SE11: "Diccionario de datos ABAP", utilizada para la administración de todas las definiciones de datos utilizadas en el sistema SAP.

- Editor de programas (Transacciones SE38 y SE80): además de proveer las funciones básicas para la edición de texto, posee múltiples características que facilitan la programación en gran magnitud. Permite efectuar la verificación de sintaxis aceptando sugerencias del dispositivo de corrección automática incluida, resalta palabras clave y visualizar en forma de estructura jerárquica brindando la posibilidad de ocultar/desglosar bloques sintácticos.

Transacciones SE38 y SE 80: ambas transacciones estándares utilizadas para el desarrollo de aplicaciones o programas ABAP dentro del sistema SAP.
- El Screen Painter (Transacción SE51): se crearan rápidamente interfaces gráficas de usuario incluidas una amplia gama de elementos de control. Las pantallas creadas se denominan dynpros, en ellas se incluyen la definición de la pantalla y sus campos y la lógica de proceso de la misma, dirigida por eventos, como ser lenguajes visuales modernos, aunque la variedad de eventos posibles es bastante limitada.

Transacción SE51: estándar "screen painter" se utilizada para la creación de las denominadas o dynpros (término propio de SAP)
- Entorno de depuración (dentro de la transacción SE38): el modo debugging de ABAP, posee todas las ventajas de este tipo de ayuda a la programación tal como la creación de breakpoint y wachpoints, con la posibilidad de hacer estas acciones viendo el código fuente del programa, por lo que la localización del lugar del error es exacta.
- Otras herramientas: existen una gran cantidad de herramientas adicionales, cuyo uso no es tan frecuente como el Menú Painter, análisis del tiempo de ejecución, Class Builder, Function builder, etc.
5. Modificaciones al sistema estándar de SAP: para que los usuarios puedan cubrir sus propias necesidades, SAP deja espacios, agregando en estos espacios el código ABAP, denominándose ampliaciones, ya que, con estas se extienden funcionalidades. Las principales ampliaciones son:
- Customer Exits (Transacciones CMOD y SMOD): son los espacios que SAP deja para que se sumen los agregados de los usuarios en cuanto a código para validaciones y mejoras.

- Fields Exits (Transacción CMOD y escribir PRFB): también llamadas ampliaciones de campo que son validaciones de los elementos de datos asociados a campos de pantallas de SAP.

- Badis (Business Adds-Ins, Transacciones SE18 y SE19): nuevo tipo de extensión al sistema SAP basado en la utilización de objetos de ABAP para la implementación de validaciones y ampliaciones al código SAP sin modificar el código SAP estándar. Estas se utilizan para la definición y declaración de las BADIS en el SAP.
- Enhancementens (desde la misma transacción SE38): son ampliaciones al código SAP, mediante las cuales ee agregan ampliaciones determinadas.

- Estructuras Append (desde la misma transacción SE11): son objetos ABAP creados para agregar datos o configuraciones adicionales a las tablas de bases de datos y estructuras estándar de SAP.

6. Consultores SAP: este 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 aseguran el máximo aprovechamiento de los conocimientos y herramientas tecnológicas en beneficio de la empresa.

Dentro del ecosistema SAP, existen 3 tipos de consultores:
- Consultores funcionales: son aquellos profesionales que poseen el conocimiento de un área funcional o módulo de sistema y son los encargados de ayudar a las empresas a configurar el SAP de acuerdo a los requerimientos de cada empresa, aportando los conocimientos necesarios para sacra el máximo provecho a los recursos, así como también, la capacitación al personal, de un manera tal que puedan desempeñarse sin ayuda constante.
- Consultores SAP Basis: SAP Basis, es la base técnica de SAP, siendo esta la forma clásica de nombrar a la administración operativa del sistema, siendo llamada anteriormente SAP Netweaver. La principal función de estos consultores especialistas la administración del entorno SAP asegurando la integridad del sistema optimizando los recursos del mismo, incluyendo tareas de mantenimiento, actualizaciones y generación de backups respaldando la información.
- Desarrolladores ABAP: además de la programación del lenguaje ABAP, tiene como tarea la confección de la documentación, la realización de pruebas, asesoramiento a los consultores funcionales en cuestiones técnicas, optimización del sistema, por lo que no se le puede llamar consultor por las tareas asignadas y desempeñadas.
7. El ciclo de trabajo de un consultor ABAP: cada empresa posee su propia metodología de trabajo, afectando directamente el modo en el que fluye la información entre los diferentes niveles jerárquicos de la empresa, si esta se encuentra bien implementada mejora el control de los costos de los requerimientos de los usuarios antes de implementarlas. Al principio podría parecer muy administrativo, pero de este modo se garantiza la calidad del producto final y la organización del trabajo a realizar, con tiempos previstos con antelación, con los tiempos medidos.

Ejemplo para comprender este concepto:
1. El requerimiento del cliente al consultor funcional: gerente de ventas se contacta con un consultor Funcional SAP, por tratarse de requerimiento del sector o módulo de ventas, tendría que tomar este requerimiento un Consultor Funcional SAP SD, a quien se le trasladará las necesidades de información (reporte de ventas para la medición de productividad mensual de nuestros vendedores).
Por su parte, el Consultor Funcional analizará y evaluará el pedido y si este se puede parametrizar en el SAP, configurando el sistema a través de las transacciones existentes, pudiendo existir, también, ya un "reporte" estándar en el SAP para medir la productividad de los vendedores. Si se puede realizar la parametrización o si SAP posea ya un reporte y el mismo satisface la necesidad de información, este se utilizara y el trabajo del Consultor habrá terminado, en cambio, si el requisito excede a una parametrización o un reporte ya existente, los Consultores Funcional y Técnico, el ABAPER para nuestro ejemplo, se ponen a trabajar en equipo.
2. Elaboración del Diseño Funcional: de una manera básica de realizar este trabajo es que el Funcional inicia la elaboración de la documentación llamada Diseño Funcional, en el cual están las indicaciones para el técnico las siguientes especificaciones (entre otras):
° Si se trata de hacer un nuevo programa o modificación a uno existentes;
° 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 base de datos que se accederán para obtener la información del programa;
° Pruebas básicas a realizar luego el programa esté terminado;
° Demás documentación que crea necesaria o útil al consultor ABAP.
Cuando el CF realiza el DF basado a la metodología de la empresa, se solicitará al CT, que en base al DF elabore y entregue un DT, el cual es un documento especificando el trabajo que se realizará desde el punto de vista técnico, detallando:
° Nombre del programa a crear;
° Campos que componen en el denominado ABAP la pantalla de selección;
° Forma de acceder a las tablas de la base de datos para la obtención de información;
° Validación que se realizarán en el programa;
° Generándose un archivo de salida y muchas otras cuestiones.
Aquí se incluirá la estimación de las hs que se presume ocupará la realización o modificación del programa. Esta estimación, por lo gral es elaborado de común acuerdo entre el CF y el Desarrollador ABAP en base a:
° Dificultad de la tarea a realizar;
° Experiencia que posee el consultor ABAP como programador.
3. La elaboración del DT y Programación: una vez finalizado el DT, el desarrollador ABAP comenzará el desarrollo del programa o modificación a realizar, en la finalización será probado, realizando pruebas unitarias, es decir, pruebas básicas para asegurarnos que el programa cumple con la solicitud que se realizó y se avisa al CF, a su vez, este también realizará sus propias pruebas, conocidas como pruebas integrales, la cual es altamente rigurosa y si todo se encuentra en orden, se dará aviso al cliente dando cierre al requerimiento establecido al principio del ejemplo.
 
 
 
Sobre el autor
Publicación académica de Paz Emilce Ada, en su ámbito de estudios para el Curso Introducción SAP.
Paz Emilce Ada
Profesión: Licenciada en Enfermería - Argentina - Legajo: JE76S
✒️Autor de: 25 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor SAP HCM S/4HANA
🎓Egresado del módulo:
Presentación:
Soy licenciada de enfermería con especialización gestión y administración hospitalaria. con marcado perfil de liderazgo, enfocado mejorar la calidad de atención y servicios de manera proactiva.
Certificación Académica de Paz Ada







Disponibilidad Laboral: FullTime


















