MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   añadir un campo en la tabla interna en tiempo de ejcucion (foro/showthread.php?t=34746)

kelvin.acosta 20/01/10 18:59:44

añadir un campo en la tabla interna en tiempo de ejcucion
 
Buenas tardes amigos,


Necesito su colaboracion una vez mas, resulta que tengo que hacer unos calculos entre dos fechas y sacar las semanas que resulten de la mismas, en funcion de eso necesito añadir un campo en la tabla interna en tiempo de ejcucion, esto asi porque por cada registro debo presentar la cantidad de semanas y los valores que tiene para cada una.:confused:

Espero su colaboracion como siempre, y gracias.

saludos,

ballan 21/01/10 10:51:51

Para la creacion de tablas dinamicas se puede hacer de varias maneras

Dispones de la clase CL_RS_STRUC y para crear una estructura seria algo mas o menos asi (quiza el fieldsymbol no aparezca bien porque lleva el mayor y el menor que y lo puede interpretar como etiquetas HTML)


Hay otra forma que a mi modo de entender es mas sencilla y consiste en crearse un fieldcat y utilizar el metodo CREATE_DYNAMIC_TABLE de la clase CL_ALV_TABLE_CREATE

algo mas o menos asi


VLozano 22/01/10 07:09:26

Pregunta: ¿Realmente quieres añadir unos campos a una tabla interna en función del cálculo? ¿O quieres informar unos campos ya creados en ella?

Para lo primero, ni idea, aunque yo probablemente ni lo intentaría (sigo sin verle la lógica a algo así). Para lo segundo: mira la ayuda del comando MODIFY (itab).

kelvin.acosta 22/01/10 14:27:37

Tabla Dinamica
 
Hola a todos;

Primero gracias ballan por el codigo que me enviestas, realmente es esto lo que quiero hacer, crear un estructura o tabla de manera dinamica y agregar campos segun mi necesidad.

Por otro lado, Vlozano e tema se debe a que porque cuando ejecuten mi programan van hacer una seleccion de fechas y entonces por cada semana que se contenga en ese rango de fechas debo presentar columnas,por eso no puedo tener una estrucutra estatica, esta debe ser dinamica.

Gracias ballan otras vez, voy a probar con este que me das el cual me parece logico, si tienes otro ejemplo me lo haces llegar..

saludos

VLozano 25/01/10 08:34:26

Puff... menudo peñazo...

¿Y no te dejan "prenormalizar"? Creas DOS tablas internas, una que guardará los datos y la crearás "dinámicamente" según el ejemplo u otra vía que se te pueda ocurrir, y otra del palo:

- clave de los registros
- semana
- dato

Llenas esta primera tabla, luego haces un recuento de las semanas guardadas, y usas el ejemplo o lo que sea para crear la nueva tabla interna.

Menudo marronazo :p

Suerte

ballan 25/01/10 09:21:26

Con los ejemplos que te he mandado te bastaria para hacer eso, cuando te peleas un poco con ello tampoco es tan complicado, solo te comento algo que se me olvido decirte en el anterior post, si utilizas la clase CL_ALV_TABLE_CREATE existe una limitacion, solo puedes crear 36 tablas dinamicas en un mismo modo

Que quiero decir con esto?

Es muy tipico que en el PBO de una dynpro se cree la tabla dinamica y luego hagamos lo necesario para mostrarla en un grid o algo asi, si pones tu codigo generador de la tabla dinamica dentro del PBO cada vez que se ejecute volvera a calcular la tabla y cuando sea la vez numero 37 te dara un dump, el codigo generador de los objetos dinamicos debes tenerlo "apartado" y llamarlo 1 vez solamente, en tu PBO lo que haras es crear el grid o lo que sea y las veces siguiente refrescarlo


Husos Horarios son GMT. La hora en este momento es 17:12:38.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web