La costumbre genera hábitos que cuestan de quitar, y uno de ellos, en mi caso y creo que en el de muchos, ha sido desarrollar ABAP de la manera tradicional, desde el origen de mi carrera en SAP hasta casi el día de hoy. Normalmente, entramos al mundo SAP sin saber ni siquiera qué es SAP, y aprendemos sobre la marcha, generando nuestros propias costumbres de desarrollo, que a veces son complicadas de cambiar, aunque el avance nos esté gritando al oído que debemos de cambiar.
La programación orientada a objetos en ABAP no es algo nuevo, pero si es algo que la gente no ha conocido, o no ha querido conocer, ya que podíamos programar nuestras rutinas y nuestras aplicaciones sin hacer uso de ella, hasta ahora.
Con la llegada de Fiori, en concreto, la implementación de acciones vía servicios oData, donde tenemos que redefinir muchas de las clases predefinidas por SAP, empezamos a ver que todo está desarrollado con ABAP Orientado a Objetos. De la misma forma, si quieres implementar lógica en las aplicaciones Fiori basadas en CDS, tendrás que hacer uso, en muchos casos, de los BOPF. Estos adicionan lógica a las vistas mediante la definición de clases para realizar acciones, validaciones o determinaciones en base a modificaciones del objeto, lo cual nos obliga a estar familiarizados con la programación orientada a objetos.
Por los “problemas” que he me ido encontrando yo mismo estos últimos dos años, quiero realizar una serie de artículos donde hablemos del ABAP orientado a objetos, desde lo más básico hasta conocer en profundidad su manejo.
¿Qué es la programación SAP ABAP orientada a objetos?
La programación orientada a objetos no es más que un modelo de programación que se basa en el concepto de clases y objetos. El estilo de programación OO permite estructurar un programa en partes simples y reutilizables. En vez de desarrollar nuestro código ABAP como una rutina con lógica de negocio de inicio a fin, desarrollamos piezas que estarán interconectadas y que permitirán reutilizarlas en cualquier código desplegado en nuestro servidor de aplicaciones.
¿De qué forma reutilizamos el código desarrollo en ABAP orientado a objetos?
La programación orientada a objetos se basa en tres piezas claves: clases, métodos e instancias. La clase es la propia definición del objeto, en este caso, imaginemos un Pedido. La instancia será el resultado de ejecutar el método de creación de la clase Pedido, sobre el cual podremos consultar la información de sus atributos o ejecutar sus métodos para modificar o consultar información, tanto fuera como desde la propia clase, dependiendo de su visibilidad. A través del método de construcción de cada clase, podremos generar tantas instancias como deseemos para poder operar con los distintos métodos y atributos. Esto permitirá que una definición única de código pueda ser reutilizada tantas veces como se quiera.
A lo largo de los artículos ABAP OO, veremos paso a paso y en detalle, qué principios rigen la programación orientada a objetos y veremos ejemplos de código para entender bien los diferentes conceptos.