Close

enero 22, 2013

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:

La salida de programa será la siguiente:

Salida mostrada en la ejecucion de la clase