Batch input en fondo (Job) y obtener log

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • albercosta
    Junior Member
    • mar
    • 10

    #1

    Batch input en fondo (Job) y obtener log

    Hola amig@s,

    necesito hacer un batch input, que se ejecute en fondo, y del cual, del log que se obtenga, coger datos de este (en este caso el BELNR generado). El problema es que no se cual es la mejor opción que me permita obtener el log. Mi idea era hacer un juego de datos, utilizar el programa RSBDCSUB para lanzar directamente el batch input sin tener que ir a la transacción SM35. Pero posteriormente no se como obtener los datos del log.

    ¿Alguien me podría ayudar?

    Muchas gracias.
  • ballan
    Senior Member
    • oct
    • 671

    #2
    Normalmente en programas asi lo que suele hacer es un call transaction y los registros que fallan en ese call transaction se meten en un juego de datos para su posterior reproceso.

    En el call transaction puedes especificarle una tabla destino de los mensajes en la cual si el documento se ha generado correctamente habra un registro de tipo 'S' y en alguno de los parametros te aparecera el numero de documento

    Algo asi:

    Rellenar tabla BDC

    call transaction (transaccion) using gt_bdcdata
    mode 'N'
    update 'S'
    MESSAGES INTO gt_mensajes

    if sy-subrc = 0.

    loop at gt_mensajes.

    *dentro de esta tabla buscarias el numero y clase de mensaje
    *en el que te dice se ha creado el documento numero ...

    endloop.

    else.

    abrir juego datos

    call function bdc_insert

    endif.
    Editado por última vez por ballan; 12/07/2007, 17:54:09.

    Comentario

    • don_pelayo
      Junior Member
      • may
      • 29

      #3
      Yo lo hago asi

      En todas las batchs inputs yo cargo un fichero de errores de la siguiente manera esperio k te sirva :


      CALL TRANSACTION 'PA30' USING ITAB_BDCDATA
      MODE 'A'
      UPDATE 'S'
      MESSAGES INTO IT_ERRORES_1.

      *Cargamos los errores en la tabla interna it-errores


      if ( sy-subrc <> 0 ).
      loop at it_errores_1.
      select single TEXT from t100 into it_errores-txt
      where ARBGB = it_errores_1-MSGID AND
      MSGNR = it_errores_1-MSGNR AND
      SPRSL = it_errores_1-MSGSPRA.
      append it_errores.
      endloop.
      endif.
      endloop.

      endform. "cargar_datos

      Comentario

      Trabajando...