Programación orientada a objetos en ABAP (POO) Part II

Esta es la segunda entrega del mini-curso de programación orientada a objetos en ABAP, ahora aplicaremos la teoría que aprendimos en el articulo anterior creando una clase en ABAP. Primero veamos una descripción la clase que vamos a crear.

Para simplificar el ejemplo no utilizaremos consultas de bases de datos. Crearemos una clase Articulo, la cual posee algunas propiedades y métodos que permite realizar compras, ventas y consultar las existencias, precio, código y costo:

Propiedades

  1. Código
  2. Costo
  3. Precio
  4. Cantidad

Métodos

  1. Un método para leer el valor de cada propiedad
  2. Un método para definir el valor de cada propiedad (Excepto la propiedad cantidad que será de solo lectura)
  3. Un método comprar, con el parámetro cantidad, el cual incrementa la propiedad Cantidad según el parámetro recibido.
  4. Un método vender, con el parámetro cantidad, el cual resta la propiedad Cantidad según el parámetro recibido y envía un mensaje de confirmación.

Creando la clase Articulo.

Para crear o modificar clases, ingresamos en la transacción SE24, ingresamos el nombre de la clase (Z_ARTICULO, en este caso) y presionamos el botón Crear, en la siguiente pantalla elegimos Clase y presionamos la tecla Enter. En la siguiente pantalla dejamos los parámetros como se muestra en esta imagen:

Crear clase se24

Luego de dar clic en el botón grabar elige un paquete ($TMP) y después ingresa las propiedades como se muestra a continuación:

Propiedades de clase articulo - imagen

Ahora definimos los métodos:

Métodos de la clase - se24.

El método Comprar requiere un parámetro de cantidad, para definir los parámetros marcamos el método y presionamos el botón Parámetros, y luego definimos cada uno. Es importante definir correctamente la clase de cada parámetro usando Importing cuando deseamos recibir un parámetro y Exporting cuando deseamos retornar un valor.

Como Definir parámetros de la clase en ABAP se24.

Luego regresamos a la definición de métodos presionando el botón Métodos (o F3 para regresar). Para ingresar código a cada método  damos doble clic sobre el método deseado e ingresamos el código:

Codigo de metodo comprar - se24.

Ahora definamos los métodos que restan, recordando definir los parámetros de la clase apropiada (importing / exporting).

Utilizar la clase en nuestros programas.

Para utilizar nuestra clase Articulo, podemos crear un programa en la transacción SE38, usando el código siguiente:

REPORT  Z_ATICULO.

"Declarar y crear un objeto de la clase articulo
data: articulo    type ref to   z_articulo.
create object articulo.

"Variables
data: existencia type int4.

"Compramos 10 unidades
articulo->comprar( exporting cantidad_a_comprar = 10 ).

"Consultamos y mostramos la existencia
articulo->get_cantidad( importing cantidad_existencia = existencia ).
write: / 'Existencia', existencia.

"Vendemos 2 unidades
articulo->vender( exporting cantidad_a_vender = 2 ).

"Consultamos y mostramos la existencia nuevamente
articulo->get_cantidad( importing cantidad_existencia = existencia ).
write: / 'Existencia', existencia.

La salida de programa será la siguiente:

Salida mostrada en la ejecucion de la clase

Programación orientada a objetos en ABAP (POO) Part II

2 comentarios en «Programación orientada a objetos en ABAP (POO) Part II»

  1. Disculpa cree la clase como supuestamente viene pero cuando instancio la clase me salen error de que tal no es exportin…y que si es importing ..tu me podrias decir cuales es que debo colocar a cada uno de los metodos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll hacia arriba