MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   procesar todos los registros de un loop (foro/showthread.php?t=41250)

budista1 31/01/11 09:29:55

procesar todos los registros de un loop
 
Hola Foro,

tengo una tabla interna con varios campos, uno es de tipo operación que hay que verificar.
Cuando hago el loop tengo que verificar que estos campos sean error y si es así llamar a unos performs en un determinado orden.
La cuestión es que tengo hacer que el loop de vueltas hasta que encuentre el campo operación determinado.¿Cómo consigo esto? Tened en cuenta que ordenando la tabla tampoco consigo que se ejecuten los perfoms en orden.

Os enseño el código para una mejor comprensión del asunto:

SORT i_mov_cod BY drmcodop drmesope.
LOOP AT i_mov_cod INTO e_mov_cod WHERE drmesope = c_eserr.

IF e_mov_cod-drmcodop = c_mdrm AND e_mov_cod-drmesope = c_eserr.
*reprocesamos los movimientos en el orden preestablecido.
PERFORM control_mdrm.
IF e_mov_cod-drmcodop = c_mccc AND e_mov_cod-drmesope = c_eserr.
PERFORM control_mccc.
IF e_mov_cod-drmcodop = c_msen AND e_mov_cod-drmesope = c_eserr.
PERFORM control_msen.

ENDIF.
ENDIF.
ENDIF.

ENDLOOP.

mysmb2 31/01/11 11:04:46

Hola budista,
Entiendo que necesitas ejecutar 3 rutinas en la secuencia control_mdrm, control_mccc y control_msen.

Y el SORT i_mov_cod BY drmcodop drmesope no te sirve porque te orden la tabla de la siguiente manera
drmcodop drmesope
c_mdrm c_eserr
c_mdrm c_eserr
c_mdrm c_eserr
c_mccc c_eserr
c_mccc c_eserr
c_msen c_eserr

Te esta faltando comparar otro criterio que identifique cada registro como un numero de cuenta. Agregando este campo al ordenamiento creo que lo podes solucionar
SORT i_mov_cod BY CAMPO_CLAVE drmcodop drmesope.

Saludos!


Husos Horarios son GMT. La hora en este momento es 16:14:20.

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