
lección "6: La creación de una clase global"
• Creación de Clases Globales en ABAP: Explica el propósito y el proceso fundamental para crear una clase global que pueda ser reutilizada en cualquier desarrollo ABAP, utilizando la transacción SE24.
â—¦ Utilidad: Permiten la reutilización de código en cualquiera de nuestros desarrollos ABAP.
â—¦ Herramienta principal: La transacción estándar SE24 es la interfaz para crear estas clases.
• Pasos para Definir una Clase Global: Detalla la secuencia de acciones a seguir dentro de la transacción SE24 para configurar una nueva clase, incluyendo su tipo, descripción, herencia y visibilidad.
â—¦ Identificación: Se introduce el nombre de la clase (ej. ZCL_VEHICULO) en Object Type y se presiona "Crear".
â—¦ Configuración básica: Se selecciona "Class de diálogo", se ingresa una descripción, se puede definir una relación de herencia con una superclase, y se establece la visibilidad de la clase (pública, privada o protegida).
• Definición de Componentes de Clase: Describe cómo se declaran los elementos internos de una clase, como atributos, métodos, parámetros, excepciones, eventos y tipos, que definen su comportamiento y datos.
â—¦ Atributos: Se definen atributos de instancia, como speed, max_speed y stop, especificando su visibilidad y tipo.
â—¦ Métodos: Se crean métodos de instancia como increase_speed (aumento de velocidad), calculate_stop (para resetear la velocidad) y display_wr (para mostrar un listado de velocidades).
â—¦ Parámetros: Para métodos como display_wr, se definen parámetros de entrada (ej. P_PARAMETRO, P_RESULTADO).
â—¦ Excepciones y Eventos: Se pueden crear excepciones para un método (ej. para display_wr) y eventos de instancia con visibilidad pública (ej. cambio_estado_vehiculo).
â—¦ Tipos internos: Es posible crear tipos específicos para utilizar dentro de la clase global.
• Activación de la Clase: Se resalta la acción final necesaria para que la clase esté disponible para su uso en otros programas ABAP.
â—¦ Paso final: Después de definir todos los componentes, la clase debe ser grabada y activada.
• Naturaleza y Diferencias de los Pool de Clases: Explora la estructura interna generada por ABAP para una clase global, un programa especial tipo K (pool de clases), y cómo se distingue de los programas ABAP convencionales en cuanto a su funcionalidad y limitaciones.
â—¦ Generación automática: Al definir una clase global en SE24, se genera un programa ABAP denominado pool de clases (tipo K).
â—¦ Estructura interna: El pool de clases tiene una parte de definiciones y otra parte de implementaciones de la clase.
â—¦ Visibilidad de datos: A diferencia de los reportes o módulos de funciones, los pool de clases pueden definir datos y tipos de objetos en su parte de definición, pero no objetos de datos ni fields.
â—¦ Ámbito de tipos: Los tipos definidos en el pool de clases son solo visibles en la parte de implementación de la clase global.
â—¦ Bloques de procesamiento restringidos: Los únicos bloques de procesamiento permitidos en un pool de clases son la parte de declaración e implementación de la clase global, excluyendo módulos de diálogo, eventos, subrutinas o módulos de función.
â—¦ Entorno de ejecución: Los bloques de procesamiento del pool de clases no son controlados por el entorno de ejecución ABAP, lo que significa que no ocurren eventos y no se pueden llamar módulos o procedimientos de diálogo.
â—¦ Uso exclusivo: Los pool de clases sirven exclusivamente para la programación de las clases.
â—¦ Acceso mediante interfaz: Solo se puede acceder a los datos y funciones de una clase utilizando su interfaz.
â—¦ Limitaciones con pantallas: No se pueden procesar pantallas, crear listados o pantallas de selección directamente en las clases, debido a la ausencia de eventos y módulos de diálogo.
â—¦ Solución para pantallas: Para que las pantallas estén disponibles en las clases, se pueden llamar a los métodos de la clase desde la lógica de proceso de la pantalla.