Blog
Código heredado en SAP: qué es y por qué puede convertirse en un problema
- 23/05/2022
- Escrito por: Grazia Masulli
- Categoría: SAP ABAP
Los conceptos más importantes para una programación orientada a objetos es el de ‘‘heredar’’. Por eso, aquí te explicaré qué es el código heredado en SAP
¿Qué es un código heredado en SAP?
“Legacy code”, que puede traducirse de manera literal como ” código heredado “, es la expresión utilizada para definir el código de programación “heredado” de otros consultores y programadores que han personalizado SAP para adaptarlo a las necesidades de una empresa.
Aunque hay diferentes definiciones de lo que es el código heredado (y lo que no es) en ABAP, en la práctica cualquier tipo de código “personalizado” (escrito a medida), a veces también llamado “código Z”, se considera como tal.
Problemas del código heredado
El principal problema del código heredado es que a menudo no se somete a pruebas automatizadas para comprobar su interacción con otras aplicaciones.
En la práctica, el código se escribe a menudo para añadir una funcionalidad que se considera necesaria para las 1000 aplicaciones existentes de SAP.
Ahora tendremos un sistema con 1001 funcionalidades, pero es difícil estar seguros de que el cambio que hemos introducido no afectará a las 1000 funcionalidades preexistentes.
Con frecuencia se dan situaciones en las que el código fue escrito por programadores hace muchos años y no está claro cómo funciona (por la forma complicada en que fue escrito, o porque no fue comentado de forma adecuada).
Los consultores que se enfrenten a este código tendrán miedo de modificarlo, por temor a desencadenar efectos inesperados e indeseables.
Para complicar las cosas, a menudo se trata de código que maneja procesos “críticos para el negocio”. Si no fuera así, es probable que no se hubiera hecho el esfuerzo de crear este código personalizado.
Así, la situación se vuelve cada vez más compleja con el paso del tiempo, con un código heredado que se estratifica, acumulándose año tras año con las intervenciones de varios programadores.
Después de una década se convertirá en algo incomprensible, que seguirá siéndolo, ya que nadie se atreverá a simplificarlo o eliminarlo.
Además, aunque no fuera necesario cambiar el código heredado, siempre habrá actualizaciones de SAP (a lo largo de los años han salido varios paquetes de mejora).
Cada una de estas actualizaciones podría alterar el funcionamiento del código personalizado. Esto hace que la convivencia con el código Legacy sea aún más problemática.
¿Qué se puede hacer? La estrategia que se considera mejor es “minimizar” la dependencia del código heredado del resto del código, reescribiéndolo para “aislarlo”.