MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 12/09/13, 14:43:22
miko-lynn miko-lynn is offline
Junior Member
 
Fecha de Ingreso: abr 2007
Mensajes: 21
Genial!


Úlima edición por miko-lynn fecha: 12/09/13 a las 14:46:17.
Responder Con Cita
  #2  
Viejo 13/09/13, 12:19:42
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Jeje, gracias hombre !!

Bueno lamento comunicarte que lo de leer la informacion no es algo nada sencillo

De hecho hay una cosa que ya te comente que es algo FUNDAMENTAL y es el tema de si importa el orden o no

Es decir

¿ A1+B1+C1 es lo mismo que B1+A1+C1 o no?

Si NO importa el orden simplemente es hacer loop a cada una de las tablas y guardando todas las combinaciones

Si el orden SI importa y tienes que generar todas las combinaciones...

Lo primero es que hay que ser consciente de lo que estamos hablando

Por ejemplo suponiendo que tenemos 3 tablas (osea, 3 familias) todas las combinaciones posibles en las que podriamos ir recorriendo las tablas para obtener el producto cartesiano serian

TABLA1,TABLA2,TABLA3
TABLA1,TABLA3,TABLA2
TABLA2,TABLA3,TABLA1
TABLA2,TABLA1,TABLA3
TABLA3,TABLA1,TABLA2
TABLA3,TABLA2,TABLA1

Es decir para 3 elementos tenemos 6 posibilidades diferentes o dicho de una manera estricta las posibles permutaciones de 3 elementos son 3! (3 factorial) que es 3*2*1 = 6

Si fuera 5 familias diferentes seria 5! = 120 posibilidades diferentes

Pero es que ya si hubiera por ejemplo 10 familias seria 10! = 3.628.800 posibilidades diferentes que ya es un numero considerablemente grande (y solo estamos hablando de 10 familias que no es algo descabellado)

Para que te hagas una idea, las calculadoras de toda la vida suelen tener capacidad de calculo para calcular hasta 20! a partir de ahi ya salen numeros tan grandes que no son capaces de computarlos

Lo que quiero decir con esto es que si por ejemplo tienes 70 familias diferentes (cada una con n valores diferentes) y quieres obtener todas las posibles combinaciones y TENIENDO EN CUENTA EL ORDEN

Eso es un calculo monstruoso que puede tomar muchisimo tiempo aunque hagas un algoritmo hiper-mega-optimo
Responder Con Cita
  #3  
Viejo 17/09/13, 08:46:17
miko-lynn miko-lynn is offline
Junior Member
 
Fecha de Ingreso: abr 2007
Mensajes: 21

Buf, si!
pero...
[EDITO] !!!! LO CONSEGUI!!!!

Después de montar todos los datos en la "tabla de Tablas", he hecho lo siguiente:


Entonces, después de romperme los cuernos mil horas y varios minutos de regalo, he conseguido hacer el form recursivo, de manera sencilla y, mejor aún, que funciona. Por el camino, vamos recogiendo muchos datos superfluos, pero como no hacemos nada con ellos ya que llevamos los contadores FROM y TOT para tratar sólo los datos que nos interesa tratar, la ejecución es bastante rápida. (menos de un segundo para cerca de mil registros).


Hale, aquí lo dejo para que las futuras generaciones que tengan que lidiar con un form recursivo puedan usarlo (y seguro mejorarlo )
MUCHAS GRACIAS!

Úlima edición por miko-lynn fecha: 17/09/13 a las 16:31:15.
Responder Con Cita
  #4  
Viejo 18/09/13, 13:56:57
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
La combinatoria es una ciencia compleja y ABAP no es un lenguaje orientado a ello por lo que la solucion se ha enrevesado bastante pero creo que al final ha quedado ha quedado un aporte excelente, tambien es de agradecer que hayas pegado el codigo final por si en el futuro alguien se encuentra en esta situacion

Felicitaciones !!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:43:57.


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