Technical Articles
Programa tipo reporte usando POO versión 2
Tabla de contenido general
- Programa tipo reporte usando POO versión 2
- Introducción
- Programa tipo reporte
- Programa tipo reporte usando POO versión 2 Parte 1
- Diseño 1
- Diagrama de clases general
- Interfaz – ZIF_REPORT
- Diseño 1
- Programa tipo reporte usando POO versión 2 Parte 2
- Diseño 2
- Interfaz – ZIF_DATA
- Interfaz – ZIF_ALV
- Diseño 2
- Programa tipo reporte usando POO versión 2 Parte 3
- Diseño 3
- Clase global – ZCL_ALV_TABLE
- Diseño 3
- Programa tipo reporte usando POO versión 2 Parte 4
- Diseño 4
- Clase local – LCL_DATA
- Clase local – LCL_VIEW
- Diseño 4
- Programa tipo reporte usando POO versión 2 Parte 5
- Diseño 5
- Clase local – LCL_REPORT
- Código implementado
- Diseño 5
Introducción
Anteriormente había creado un blog en el cual indicaba como se genera un reporte ABAP usando programación orientada a objetos. El anterior blog puede ser consultado en el siguiente enlace:
https://blogs.sap.com/2015/07/08/programa-tipo-reporte-usando-poo/
En este nuevo blog, la idea es abarcar una arquitectura de desarrollo más robusta, esta arquitectura tiene como base el patrón de diseño MVC, el principio de diseño separación de intereses y por último pero no menos importante el principio KISS.
Teniendo claridad sobre los anteriores conceptos la propuesta de solución sería la siguiente:
Programa tipo reporte
Para la propuesta para los programas de tipo reporte se considera la creación de las siguientes interfaces:
- ZIF_REPORT
- ZIF_DATA
- ZIF_ALV
Adicionalmente cuando se necesite que el programa muestre la información en un ALV simple, se considera la creación de una clase global llamada ZCL_ALV_TABLE que usa la interfaz ZIF_ALV.
Por último, para la implementación de la lógica propia de cada reporte se usarían las siguientes clases locales:
- LCL_DATA
- LCL_REPORT
- LCL_VIEW
Hola Fernando,
Soy funcional y estoy intentando aprender abap OO.
He probado los dos casos que tiene publicado para crear un reporte OO, y en ambos casos me sale el mismo error.
Se me ocurre que puede tener que ver con la forma en como estoy creando el programa principal..
..cualquier ayuda se agradecería.
Hola Antonio,
Te recomiendo que primero crees todos los objetos de desarrollo antes de activar alguno, te recomiendo el siguiente orden de creación de los objetos de desarrollo:
Cuando tengas todos los objetos de desarrollo creados los intentas activar al tiempo.
Adicionalmente este desarrollo fue realizado haciendo uso de la versión SAP ABAP 7.4, si estás usando un sistema con una versión anterior posiblemente te salgan errores de sintaxis.
En todo caso sigue estos consejos y quedo atento a cualquier novedad.
Saludos.