#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. |
#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. Úlima edición por ballan fecha: 12/07/07 a las 17:54:09. |
#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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|