procesar todos los registros de un loop

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • budista1
    Senior Member
    • sep
    • 154

    #1

    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
    Senior Member
    • ene
    • 406

    #2
    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!
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    Trabajando...