✒️ABAP La creación de una clase global
ABAP La creación de una clase global
VIDEO - CREACION DE UNA CLASE GLOBAL
En este video veremos como crear una clase global para poder utilizar la misma en cualquiera de nuestros programas, para ello utilizaremos la transaccion SE24 en OBJECT TYPE introduciremos el nombre de la nueva clase que sera Z_CL_VEHICULO y presionamos el boton CREAR.
Luego seleccionamos la opcion CLASS y continuamos OK
En la siguiente ventana de dialogo ingresamos la descripcion de la clase [CLASE GLOBAL], si presionamos el boton a la derecha de la clase, podemos definir una relacion de herencia especificando el nombre de la superclase, en INSTANTIATION [PUBLIC] definimos la visibilidad de la clase que puede ser publica, privada o protegida, por ultimo guardamos OK
Vamos a definir los atributos de la clase EN LA SOLAPA ATRIBUTES:
- Definimos el atributo SPEED que sera un atributo de instancia [INSTANCE ATRIBUTE].
Definimos la visibilidad del atributo como publica, el tipo de atributos sera I e introducimos una desrcripcion para el mismo [VELOCIDAD]
Tambien creamos los atributos:
- [MAX_SPEED] [INSTANCE ATRIBUTE] [PUBLIC] [I] [VELOCIDAD MAXIMA]
- [STOP] [INSTANCE ATRIBUTE] [PUBLIC] [I] [STOP]
- [WRITE] [INSTANCE ATRIBUTE] [PUBLIC] [I] [MOSTRAR LISTADO]
Ahora definimos los metodos, en la solapa METHOD:
- Creamos el metodo INCREASE_SPEED el cual definimos como metodo de instancia [INSTANCE] con visibilidad publica [PUBLIC] con la descripcion [AUMENTO DE VELOCIDAD]
- Tambien creamos el metodo CALCULATE STOP el cual definimos como metodo de instancia [INSTANCE] con visibilidad publica [PUBLIC] con la descripcion, cuyo proposito sera [RESETEAR LA VELOCIDAD]
- Y el metodo DISPLAY_WRITE el cual definimos como metodo de instancia [INSTANCE] con visibilidad publica [PUBLIC] con la descripcion, que [MOSTRAR EL LISTADO DE VELOCIDADES],
Para este metodo definimos parametros, EN LA SOLAPA PARAMETERS:
- Creamos el parametro P_PARAMETRO Type [IMPORTIN] de entrada del tipo P con la descripcion [PARAMETRO]
- Tambien creamos el parametro P_RESULTADO Type [IMPORTIN] de entrada del tipo P con la descripcion [RESULTADO]
Ahora creamos una esepcion para el metodo DISPLAY_WRITE, en el boton Exception:
- Exception [VEHICULO_NO_EXISTE] Description [EL VEHICULO NO EXISTE]
Tambien creamos el evento, en la solapa EVENTS,
- Event [CAMBIO_ESTADO_VEHICULO] como de Type [INSTANCE], con visibilidad [PUBLICA] y una descripcion acorde de su proposito [CAMBIO DE ESTADO DE UN VEHICULO]
Por ultimo podemos crear los tipos, en la solapa TYPES, para utilizar dentro de nuestra clase global
- Type [MARCA_VEHICULO] visibilidad [PUBLIC] Typing [TYPE] Associated [CHAR30] Description [MARCA DEL VEHICULO]
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 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 Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez