Crear una clase de persistencia en ABAP permite vincular objetos con datos almacenados en la base de datos. Esta guía explica el papel del Class Builder y el mapeo necesario para gestionar el ciclo de vida de los objetos.
Para utilizar el servicio de persistencia de objetos, las clases de estos objetos se deben crear como clases persistentes en el Generador de clases.
El término clase persistente no implica que una clase es persistente. Más bien, significa que los objetos de esa clase y su estado son gestionados por el servicio de persistencia. Por ejemplo, los objetos de estas clases son instanciados en el programa ABAP con un método del servicio de persistencia, que asegura que la inicialización es correcta (no con la usual sentencia CREATE OBJECT).
Cuando el constructor de la clase crea una clase persistente, se genera automáticamente una clase asociada, conocida como el agente actor de la clase, cuyos métodos gestionan los objetos de clases persistentes. Además de su identidad, las clases persistentes pueden contener atributos clave, que permiten al servicio de persistencia asegurar que el contenido de cada objeto persistente es único.
En este artículo vamos a crear una clase de persistencia, para comprender y aprender cómo se crean.
Utilizando el generador de clases creamos la clase de persistencia ZCL_PEDIDOS_LOGALI.
Los pasos que tenemos que seguir para crear la clase de persistencia son los siguientes:
- En la transacción SE24 rellenamos el campo Tipo objeto con el nombre de la clase y continuamos utilizando el botón Crear.

- Rellenamos el campo Descripción y seleccionamos la opción Clase persistente para el tipo de clase. Desactivamos la opción Final si queremos que otras clases puedan heredar la clase.

- Asignamos paquete y orden de transporte.
- Activamos la clase seleccionando Sí en la opción: ¿También desea activar el actor de la clase?

- Navegamos a la clase base utilizando la pestaña Friends.


- Utilizamos la misma transacción SE24 para visualizar la clase actor.


Preguntas frecuentes
¿Qué es una clase persistente en ABAP?
Es una clase cuyos objetos y estado pueden ser gestionados por el servicio de persistencia y almacenados en base de datos.
¿Una clase persistente guarda automáticamente todos sus datos?
No; requiere una configuración de mapeo y operaciones explícitas según el diseño del servicio de persistencia.

Hola, como puedo saber cuando es necesario usar la clase persistente?
Hola Miguel,
La elección entre clases de persistencia y clases normales debe basarse en los requisitos funcionales de tu aplicación.
En general, las clases de persistencia son más apropiadas cuando trabajas con datos de base de datos, mientras que las clases normales ABAP son más adecuadas para la lógica de negocio y la capa de aplicación.
Saludos.