Ver Mensaje Individual
  #4  
Viejo 07/09/07, 08:55:06
Chispi Chispi is offline
Junior Member
 
Fecha de Ingreso: sep 2007
Mensajes: 4
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
Responder Con Cita