Blog
Lenguaje de programación SAP ABAP: preguntas y respuestas
- 27/02/2022
- Escrito por: Grazia Masulli
- Categoría: SAP ABAP
Las respuestas a las preguntas más comunes sobre el lenguaje de programación SAP ABAP están aquí.
¿Qué es el lenguaje de programación SAP ABAP?
El lenguaje de programación SAP ABAP, a veces llamado ABAP/4, es el lenguaje propio creado por SAP (la empresa alemana) para desarrollar aplicaciones. También para adaptar los productos SAP a necesidades empresariales específicas. Por ejemplo, más del 80% de SAP R/3 se escribió con ABAP.
ABAP es un lenguaje de “alto nivel”, es decir, independiente de la estructura del ordenador en el que se ejecuta el programa. Además, es relativamente comprensible, ya que tiene similitudes con los lenguajes humanos.
Estos lenguajes de alto nivel deben ser “interpretados” (en la práctica, traducidos a instrucciones de lenguaje de máquina) por los ordenadores. Con el fin de poder ser ejecutados.
Inicialmente, ABAP era la abreviatura de Allgemeiner Berichts-Aufbereitungs-Prozessor (Procesador general de informes), nombre que revela el motivo por el que fue creado. Pues permitió a los usuarios crear informes “a medida” necesarios para sus actividades.
Más tarde se rebautizó como “Programación avanzada de aplicaciones empresariales”, un nombre que refleja mejor sus nuevas funciones.
¿Existen buenas razones para aprender a utilizar el lenguaje de programación SAP ABAP?
La razón principal es que hay decenas de miles de empresas que trabajan con SAP. Estas empresas suelen necesitar resolver un error, personalizar un proceso, etc. Por lo que existe una considerable demanda de especialistas en ABAP, los llamados “consultores técnicos”.
Suelen ser una categoría diferente a la de los “consultores funcionales”. Los cuales, en cambio, son expertos en procesos de negocio pero pueden no saber programar en ABAP. Actualmente, hay casi 5 millones de desarrolladores ABAP registrados.
¿Qué aspecto tiene el código escrito en ABAP?
El código es bastante legible, si estás familiarizado con la programación. Cada comando termina con un punto y las construcciones son fácilmente reconocibles si estás familiarizado con BASIC, FORTRAN, etc. Encontrarás, por ejemplo, las construcciones WHEN…IF…ELSEIF.
A continuación, incluyo un ejemplo para que te hagas una idea de cómo es. Si te interesa el tema, puedes ver la sintaxis y algunos comandos básicos de ABAP/4 con más detalle en otro post.
REPORT demo_list_window NO STANDARD PAGE HEADING.
START-OF-SELECTION.
SET PF-STATUS ‘BASIC’.
WRITE ‘Select line for a demonstration of windows’.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN ‘SELE’.
IF sy-lsind = 1.
SET PF-STATUS ‘DIALOG’.
SET TITLEBAR ‘WI1’.
WINDOW STARTING AT 5 3 ENDING AT 40 10.
WRITE ‘Select line for a second window’.
ELSEIF sy-lsind = 2.
SET PF-STATUS ‘DIALOG’ EXCLUDING ‘SELE’.
SET TITLEBAR ‘WI2’.
WINDOW STARTING AT 45 10 ENDING AT 60 12.
WRITE ‘Last window’.
ENDIF.
ENDCASE.
¿Es difícil programar en ABAP?
La respuesta depende, obviamente, de tu punto de partida. Quizás estás familiarizado con la programación orientada a objetos y con conceptos como tipos de datos, condiciones, bucles y más. Si, además, tienes experiencia con otros lenguajes, creo que te resultará muy sencillo.
Dicho esto, existe cierto consenso en el sector de que se trata de un lenguaje fácil de utilizar. Ya que la dificultad radica más bien en la necesidad de comprender y traducir el funcionamiento de un proceso empresarial en código.
¿Tiene futuro el ABAP? ¿Vale la pena estudiarlo?
Ciertamente, si estás interesado en trabajar en IT con SAP, ABAP puede ser un punto fuerte en tu currículo. Esto por el mantenimiento del código existente. También por el hecho de que la próxima generación de software SAP ERP (S/4HANA) sigue basándose en ABAP.
El hecho de que la cuota de mercado de SAP haya aumentado considerablemente en las últimas décadas, sin duda también ayuda.
Dicho esto, también existe un movimiento por parte de SAP en la dirección opuesta: la de reducir el código “a medida”. Además de aumentar la aplicación de soluciones estándar basadas en las “mejores prácticas”, en la medida de lo posible.
La principal razón de ser de ABAP es la personalización del ERP. Esta tendencia podría provocar un descenso de la demanda en el futuro.
Además, aunque es sólo mi impresión y no tengo datos seguros, creo que existe una fuerte competencia de programadores ABAP des-localizados. Por ejemplo, de países como la India; y creo que esto repercute en los salarios de los especialistas.
Una vez hecha esta introducción, creo que, sobre todo para los consultores funcionales, es importante tener al menos algunos conocimientos de ABAP. Así podrán detectar problemas en el código y trabajar más fácilmente con los colegas especializados en programación.
¿Cómo puedo practicar con ABAP?
Lo normal es, sin duda, utilizar el editor ABAP de SAP. Puedes activarlo siguiendo esta ruta en la GUI de SAP (también puedes utilizar la transacción SE38):
Herramientas → ABAP Workbench → Desarrollo → Editor ABAP.
Sin embargo, necesitarás tener privilegios elevados (la mayoría de los usuarios finales no están autorizados). También es bueno practicar con un sistema de prueba. Pues aprender ABAP con un sistema en producción es una receta para el desastre.
Como alternativa, igual puedes intentar instalar el llamado MiniSAP (básicamente un SAP sin los módulos). Si esto es imposible o muy complicado, he observado que en algunos sitios es posible encontrar paquetes “listos para descargar”. Estos se ejecutan en máquinas virtuales.
Por último, hay algunas páginas que permiten introducir comandos a través del navegador (es decir, desde el navegador de Internet). Pero he observado que algunos comandos suelen estar bloqueados por razones de seguridad.