Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
fmunozb
Active Participant

En el documento Programa tipo reporte usando POO Parte 1 se llevó a cabo el planteamiento y análisis del problema, en este documento se va a llevar a cabo el diseño del programa.

Tabla de contenido general

Indice del documento

Diseño del programa de tipo reporte

Con base a los casos de uso ahora podemos construir un diseño desde el punto de vista ABAP, para lo cual identificamos las clases con las que vamos a modelar el programa.

Diagrama de clases



La clase GCL_PROGRAM es una clase local en la que todos sus métodos y atributos son estáticos y públicos. El objetivo de esta clase es contener todos los atributos globales del programa, así como el llamado de los eventos necesarios en un programa de tipo reporte en ABAP, adicionalmente, esta clase es la encargada de generar el reporte ALV. La clase GCL_PROGRAM tiene un atributo GO_ZCL_YEJEMPLO1 que va a ser una instancia de la clase ZCL_YEJEMPLO1, la cual se va a encargar de obtener la información de la base de datos,  esta clase tiene otro atributo llamado GO_ALV_TABLE el cual es una instancia de la clase CL_SALV_TABLE y va a ser el encargado de generar el reporte en ALV.


La clase ZCL_YEJEMPLO1 es una clase global de instancia, la idea de esta clase es servir de interface para extraer los datos necesarios de la base de datos y comunicarlos a la clase GCL_PROGRAM, esta clase va a contener un constructor el cual se va a encargar de mapear los filtros de entrada en los atributos de la clase, es decir, por cada parámetro de entrada en la pantalla inicial se va a tener un atributo de esta clase y un parámetro en el método constructor, en el constructor se van a iniciar los parámetros que van a servir para llevar a cabo la consulta de la información. El método público SET_DATA va a ser el encargado de buscar la información en el sistema y almacenarlo en el atributo global GIT_DATA, este atributo va a contener la información que va a ser pasada al reporte ALV. El método GET_DATA va a ser el encargado de obtener la información, retornando una referencia a los datos que se encuentra en el atributo GIT_DATA.


Diseño de pantallas

Las siguientes pantallas muestran el funcionamiento general del programa de tipo reporte:

Pantalla principal

Pantalla ALV con la información final