✒️ABAP La creación de una clase global
ABAP La creación de una clase global
Creación de una clase global
La creación de una clase global para utilizarla en cualquiera de nuestro programas.
Para la creación utilizamos la transacción SE24, object types introducimos el nombre de la clase Z_CL_VEHICULO y presionamos el botón crear. Luego seleccionamos CLASS y confirmamos.
En la siguiente ventana de diálogo ingresamos la descripción de la clase, si presionamos el ícono a la derecha de la clase debemos definir una herencia especificando el nombre de la superclase. En INSTANTIATION definimos la visibilidad de la clase, pública , privada o protegida y por ultimo guardamos.
Ahora definimos los atributos de la clase, SPEED que será un atributo de instancia, definimos la visibilidad lo ponemos como pública, el tipo de atributo será I y ponemos una descripción. También creamos los atributos MAX_SPEED, STOP y WRITE.
Ahora definimos los métodos:
INCREASE_SPEED, Instancia, publica, Aumento de velocidad
CALCULATE_STOP Instancia, pública, Resetear la velocidad
DISPLAY_WRITE Instancia, pública, Mostrar listados de velocidades
Para este método definimos parámetros:
P_PARAMETRO type Importing Associated type p descripción parámetro
P_RESULTDO type Importing Associated type p descripción Resultado.
Ahora creamos una exception
VEHICULO_NO_EXISTE. descripción El vehículo no existe.
Vamos a evento.
Event CAMBIO_ESTADO_VEHICULO Type instancia publica Descripción Cambio del estado de vehículo.
Por ultimo podemos crear tipos
MARCA_VEHICULO publico type CHAR30 Descripción Marca del vehículo
Finalmente grabamos y activamos la clase.
Tal como mencionamos anteriormente para las interfaces, cuando se define una clase en forma global, a través del repositorio correspondiente a la transacción SE24, CC genera un programa ABAP denominado Pool de Clases el cual es del tipo K. El Pool de Clases tiene una parte de definiciones y otra parte de implementaciones de la clase. Este programa tiene muchas diferencias con respecto a un programa ABAP común y corriente. Las principales diferencias son las siguientes:
Los programas ABAP tales como los reportes, module pool, o los módulos de funciones, usualmente tienen una parte de declaración en donde se definen los datos globales; estos son visibles en todos los bloques de procesamiento de programa. Los Pool de Clases, por otro lado, tienen una parte de definición en donde se pueden definir datos y tipos de objetos pero no se pueden definir objetos de datos ni field symbols.
Los tipos que se definen en el pool de clases son solo visibles en la parte de implementación de la clase global.
Por otro lado, los únicos bloques de procesamiento que se pueden utilizar en un Pool de Clases son la parte de declaración e implementación de una clase global. La parte de implementación solo podría implementar los métodos declarados en la clase global.
No se puede utilizar cualquiera de los otros bloques de procesamiento ABAP tales como los módulos de diálogo, los bloques de eventos, subrutinas y módulos de función.
Los bloques de procesamiento del pool de clases no son controlados por el entorno de ejecución ABAP, no ocurren eventos y no se puede llamar a cualquiera de los módulos o procedimientos de diálogo, Los pool de clases sirven exclusivamente para la programación de las clases. Solo se puede acceder a los datos y funciones de una clase utilizando su interface.
Por otro lado, debido a que los eventos y módulos de diálogo no están permitidos en las clases, entonces no se pueden procesar las pantallas en las clases, no se pueden crear listados y pantallas de selección en las clases debido a que a estas no pueden reaccionar a los eventos adecuados. Si el objetivo es hacer que las pantallas estén disponibles en las clases, en lugar de módulos de diálogo podremos llamar a los métodos de la clase de la lógica de proceso de la pantalla.
 
 
 
Sobre el autor
Publicación académica de Ninoska Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ninoska Marquez
Profesión: Ing. de Sistema - Honduras - Legajo: FU90M
✒️Autor de: 99 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Me llamo ninoska marquez tengo 44 anos, tengo varios años de trabajar para una empresa donde me desempeño con el cargo de programador junior, soy perseverante, amable, tranquila
Certificación Académica de Ninoska Marquez