Esto te puede ayudar, pero es complicado
A ver jonono. La respuesta es chunga para un principiante, pues tienes q crear código ABAP dinamicamente, y hacer un global assign para obtener la referencia a la tabla q deseas crear dinamicamente.
Las preguntas q te tienes q hacer son:
1- ¿Cómo defino la tabla q necesito de forma estática con ABAP?
2- Escribo el código ABAP de la respuesta de la pregunta 1 en una tabla interna cuyo tipo es carácter de longitud 72.
3- Amplía el código ABAP de la tabla interna, para q sea una declaración de tipo/datos global. Define también en dicha tabla interna una variable global del tipo recién definido y crea además una subrutina de momento vacía.
4- Échale un vistazo a la ayuda de la instrucción GENERATE SUBROUTINE POOL. Ahora mismo no recuerdo si está disponible en 4.6C. Verás un ejemplo chulo en dicha ayuda.
5-Llamas a la subrutina del reporte q acabas de generar
6-Obtienes con global assign un field symbol q apunte a dicha variable global q has definido en tu reporte dinámico
7- Échale un vistazo a la ayuda de la instrucción CREATE DATA ... LIKE, porque ahora tienes una variable de donde dicha instrucción puede sacar la información del tipo en tiempo de ejecución.
8- Si te funciona lo de 7, te falta un ASSIGN dataref->* TO <field_symbol> y ya puedes usar tu tabla dinámica.
Lo de pasarlo a XML... lo tienes chungo, pues te tienes q construir tu mismo el stream XML. Sólo a partir de Basis 4.7 tienes instrucciones ABAP para generar un stream XML a partir de una variable ABAP.
Suerte
|