Este post va dirigido a quienes conocemos un poco del mundo SAP, bien sea como usuarios o consultores funcionales y tenemos la curiosidad de saber cómo es posible personalizar una transacción estándar de SAP (si el sistema lo permite) o crear un proceso completo, sea que tenga integraciones estándar o no.
Para esto SAP nos proporciona la opción de crear o agregar en su sistema líneas de código que se traducen en una funcionalidad nueva para el usuario final, el lenguaje utilizado para esto se llama ABAP.
¿Qué debes saber antes de entrar al mundo ABAP?
- SAP es un sistema integrado que posee un sinnúmero de procesos, los cuales están conectados de muchas maneras. Por lo tanto, si tenemos la necesidad de realizar un desarrollo ABAP debemos tener presente estas integraciones, caso contrario nuestro desarrollo generará errores o inconsistencias a otras partes de nuestro sistema y eso no lo queremos, sobre todo en un sistema productivo.
- Para programar en ABAP es necesario escribir líneas de código, haciendo referencia a objetos, acciones y estructuras, que una vez escritas o creadas serán interpretadas por el sistema.
- Se puede modificar la funcionalidad estándar de un programa SAP siempre y cuando este tenga la opción de hacerlo (ampliaciones, enhancements, badis, user exits, eventos, etc). El modificar el código original del programa sin el uso adecuado de las herramientas que nos da SAP puede llevar a pérdida de garantía del producto o en el peor de los casos pérdida parcial o total de la funcionalidad.
- SAP está lleno de módulos de funciones o bapis que son pequeñas funcionalidades encapsuladas y que pueden ser usadas en diferentes programas, por ejemplo los datos principales de una sociedad FI se pueden obtener de BAPI_COMPANYCODE_GETDETAIL, de esta manera solamente llamamos a esta bapi en lugar de crear el código necesario que nos llevase a esa información.
- Es posible crear módulos de funciones propios y 100% desarrollados por nosotros, de esta manera pueden ser llamados y utilizados en diferentes desarrollos a medida. Solamente asegúrate de que no existan en el estándar ya que siempre es recomendable tener como primera opción las funciones de SAP.
- Es posible crear todo un proceso personalizado y desarrollado por nosotros, esta es la tarea más compleja que realizará un programador ABAP. Para esto es necesario tomar varias funcionalidades estándar (si aplican) y juntarlas con las necesidades específicas de nuestro cliente, que pueden ser desde pantallas SAP, botones, ALVs, mensajes, acciones y muchas más. Como dato importante en este punto, es recomendable siempre asesorarse con un consultor funcional o quien conozca de las posibles integraciones que debe tener nuestro desarrollo.
Transacciones relevantes en el mundo ABAP, pero no debemos limitarnos solo a ellas.
- SE38 – Editor ABAP.
- ST22 – Análisis de dumps.
- SM37 – Resumen de jobs.
- SE10 – Customizing organizer.
- SE80 – Object navigator.
- SE37 – Biblioteca de funciones.
- SMARTFORMS – Gestionar Smart Forms.
- SE11 – Diccionario ABAP.
¿Cómo iniciar en el mundo ABAP?
En este punto te voy a contar mi experiencia personal, que considero me dio buenas bases para iniciar y entender el mundo ABAP (tomando en cuenta que no tenía ninguna formación previa en lenguajes de programación).
En primer lugar, es necesario recibir una introducción con un consultor ABAP que conozcas, el objetivo es aprender los conceptos básicos de:
- Lógica y estructura de programación ABAP, que te servirán para entender cómo leer y escribir en este lenguaje.
- Principales funciones que se pueden aplicar, como por ejemplo: un loop, if, do, select, entre otras.
- Buenas prácticas de construcción ABAP.
- Cómo ejecutar un debug o análisis del programa en tiempo real ejecutándolo línea a línea. Te recomiendo realizarlo con un desarrollo que ya lo conozcas como usuario o consultor funcional (el código estándar puede resultar muy complejo y abrumador al principio).
- Análisis de dumps o errores de código.
Una vez tengas estos temas claros, te recomiendo dominar el debug, de esta manera podrás ver al sistema y el lenguaje en acción sin la necesidad de crear líneas de código. Esto te servirá para conocer las diferentes funciones que tiene y sus respectivas consecuencias, de igual manera irás fortaleciendo tu conocimiento sobre cómo funciona la estructura del lenguaje.
Finalmente, puedes optar por tomar un desarrollo ya construido, realiza un duplicado (de tal manera que no modifiques el original y no impactes a la funcionalidad) y empieza a modificarlo para que adquieras experiencia en cómo agregar líneas de código, manteniendo las buenas prácticas y estructura con la que fue creado inicialmente. En este punto trabajarás mucho el análisis de dumps, el entendimiento del lenguaje, aplicación de funciones y debug.
Si ya tienes dominados todos los puntos anteriores, también ya sabrás si quieres continuar aprendiendo y trabajando en esta área de SAP. Considero que es buen momento para tomar un curso ABAP más avanzado, el cual te permitirá conocer las diferentes ramificaciones que puedes tener y por supuesto mejores conocimientos para crear desarrollos más complejos.
Si están interesado en aprender más sobre el leguaje de programación ABAP, en el blog de SAPtribe tenemos más entradas interesantes:
? SENTENCIAS ABAP 7.40. Píldora I.
? SENTENCIAS ABAP 7.40. Píldora II.
Este post es propiedad de s4street.com , SAPtribe se limita a dar difusión a su contenido para aportar valor a toda la comunidad.
Consultora SAP con más de 5 años de experiencia. Especializada en Analítica de datos para SAP ERP e IS-U. Se encuentra certificada en SAP BW y conoce a profundidad BW/4HANA, Business Object, Analysis For Microsoft Office, SAC, manejo de temperatura de datos e integraciones con sistemas SAP y No SAP. Posee fuertes conocimientos técnicos y funcionales que le han permitido realizar varias implementaciones desde cero y proyectos de soporte de forma exitosa. Con el afán de compartir sus conocimientos y experiencias personales en el entorno SAP es coautora del blog: https://www.s4street.com/