✒️ABAP La creación de una clase global
ABAP La creación de una clase global
Unidad 5: Programación Orientada a Objetos.
Lección 6: Video- Creación de una Clase Global.
Video
Veremos como crear una clase global para poder utilizar la misma en cualquiera de nuestros programas.Para ello utilizaremos la transacción SE24 en Object type introduciremos el nombre de la nueva clase que se llamará Z_cl_vehiculo y presionamos el botón crear. Luego seleccionamos Class y continuamos. En la siguiente ventana de diálogo ingresamos la descripción de la clase: Clase global de vehículo. Si presionamos el botón a la derecha de la clase podremos definir una relación de herencia especificando el nombre de la super clase. 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 (solapa Attributes). Definimos el atributo SPEED que será un atributo de instancia, definimos la visibilidad del atributo como publica, el tipo de atributo será I e introducimos una descripción para el mismo. También creamos los atributos MAX_SPEED (velocidad máxima), STOP y WRITE(Mostrar listado).
Ahora definimos los métodos. Creamos el método INCREASE_SPEED el cual definimos (Level) como método de instancia con visibilidad pública, con la descripción aumento de velocidad. También creamos el método CALCULATE_STOP cuyo propósito será resetear la velocidad a cero. 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 de entrada del tipo P con la descripción parámetro. También creamos el parámetro P_RESULTADO de entrada del tipo P con la descripción resultado. Ahora creamos una excepción para el método DISPLY_WRITE, VEHICULO_NO_EXISTE con descripción El vehículo no existe. También creamos el evento CAMBIO_ESTADO_VEHICULO como de instancia, con visibilidad pública y una visibilidad de acuerdo a su propósito: cambio de estado de un vehículo. Por ultimo podemos crear tipos para utilizar dentro de nuestra clase global: MARCA_VEHICULO, pública tipo CHAR30 con descripción marca del vehículo. Finalmente grabamos y activamos la clase
Audio tip:
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 mucha diferencias on respecto a un programa ABAP común y silvestre 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 eventos 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 puede 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 adecuado 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 Brenda Castillo Domínguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Brenda Castillo Domínguez
Profesión: Ingenieria en Sistemas Computacionales - Mexico - Legajo: HJ67S
✒️Autor de: 187 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Curso Introducción a SAP
Disponibilidad Laboral: FullTime
Certificación Académica de Brenda Castillo