✒️ABAP La creación de una clase global
ABAP La creación de una clase global
LA CREACIÓN DE UNA CLASE GLOBAL
Crearemos una clase global para poder utilizar la misma en cualquiera de nuestros programas, para ello utilizaremos la transacción SE24.
En object type introducimos el nombre de la nueva clase que será z_cl_vehiculo, y presionamos crear.
Luego seleccionamos class y continuamos.
En la siguiente ventana de diálogo ingresamos la descripción de la clase, si presionamos el botón a la derecha de la clase podremos definir una relación de herencia especificando el nombre de la superclase.
En instantiation definimos la visibilidad de la clase, que puede ser pública, privada o protegida. Por último guardamos.
Vamos a definir los atributos de la clase, definimos el atributo speed que será un atributo de instancia, definimos la visibilidad del atributo como pública, el tipo de atributo sera i entroducimos una descripción para el mismo.
Tambien creamos los atributos MAX_SPEED, STOP y WRITE.
Ahora definimos los métodos, creamos el método INCREASE_SPEED el cual definimos como método de instancia, con visibilidad pública e introducimos una descripción.
También creamos el método CALCULATE_STOP cuyo propósito será resetear la velocidad.
Y el método DISPLY_WRITE que mostrará el listado de velocidades.
Para este método definimos parámetros creamos el parámetro p_parametro del tipo p con la descripción parámetro.
También creamos el parámetro de entrada P_RESULTADO del tipo p con la descripción resultado.
Ahora creamos una excepción para el método DISPLY_WRITE: VEHICULO_NO_EXISTE descripción: el vehiculo no existe.
También creamos el evento CAMBIO_ESTADO_VEHICULO como de instancia, con visibilidad pública y una descripción acorde a su propósito.
Por último podemos crear TIPOS para utilizar dentro de nuestra clase global.
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, se 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 silvestre, las principales diferencias son las siguientes:
- Los programas ABAP tales como los reportes, los 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 del programa. Los POOL DE CLASES por otro lado, tiene una parte en la definición en donde se pueden definir datos y tipos de objetos pero no se pueden definir objetos de datos. 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 podria 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 dialogo, los bloques de eventos, las subrutinas y los módulos de funciones.
- 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. Sólo 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 puede procesar las pantallas en las clases, no se puede crear listados y pantallas de selección en las clases debido a que 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.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Pedro Salazar
Sobre el autor
Publicación académica de Ducelvis Lolimar Arcia Cova, en su ámbito de estudios para la Carrera Consultor ABAP.
Ducelvis Lolimar Arcia Cova
Profesión: Tsu Relaciones Industriales (rrii) - Argentina - Legajo: WX74T
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Mi principal objetivo al comenzar esta gran experiencia educativa en programaci?n abap es adquirir los conocimientos y competencias necesarias para incorporarme en el ?mbito laboral en esta ?rea.
Certificación Académica de Ducelvis Arcia