
BATCH INPUT UTILIZANDO JUEGOS DE DATOS
Mi primer Batch Input utilizando Juego de Datos
Vamos a crear nuestro primer Batch Input utilizando la técnica de Juego de datos. El objetivo del Batch Input será la carga inicial de datos de la tabla ZTABLA_USUARIOS.
Para ello, vamos a crear un archivo de texto con registros que cumplan con la estructura de la tabla ZTABLA_USUARIOS, sintener en cuenta el campo mandante.
Ahora seguiremos los pasos que establecimos en la primera lección de la unidad.
1 : Declaración de los datos propios del Batch Input
Declaramos una tabla interna y una estructura, ambas del tipo BDCDATA y otra tabla interna de usuarios que contendrá los registros que levantemos del archivo de entrada.
2 : Lectura de datos de archivo de entrada
Ejecutamos el método GUI_UPLOAD para levantar el archivo de entrada con la información para generar el batch input.
3 : Apertura de la sesión del Juego de Datos
Para realizar la apertura de la sesión del Juego de Datos, vamos a utilizar la función BDC_OPEN_GROUP, especificando el mandante, el grupo y el usuario.
4 : Carga de la tabla BDCDATA
Para cargar la tabla BDCDATA utilizaremos la subrutina BDC_FIELD, que vimos en la lección dos. Antes debemos inicializar la tabla interna del Batch Input.
5: Inserción del Juego de Datos
Para realizar la inserción del Juego de Datos vamos a utilizar la función BDC_INSERT, tal como vemos a continuación.
6 : Cierre de la sesión del Juego de Datos
Para cerrar el Juego de Datos vamos a utilizar la función BDC_CLOSE_GROUP, tal como vemos a continuación.
7: Ejecución del Juego de Datos
Para realizar la ejecución del Juego de Datos vamos a entrar a la transacción SM35. Vamos a seleccionar el Juego lo ejecutamos presionando el botón Ejecutar (Process).
En la siguiente ventana de díalogo marcamos la opción Invisible (Background) y presionamos Ejecutar (Process).
Finalmente la sesión cambiará de status dependiendo del resultado de la ejecución y los datos se actualizarán en la tabla
ZTABLA_USUARIOS.
Utilización del programa RSBDCBTC para la ejecución del juego de datos
Podemos ejecutar el Juego de Datos en forma Online mediante la ejecución del programa estándar RSBDCBTC. Para ello, vamos a tener que crear un job, submitir la ejecución del programa RSBDCBTC y cerrar el job, tal como vemos a continuación.
Luego, si vamos a la transacción SM35, vemos que el juego de datos se procesó sin la necesidad de hacerlo manualmente.
Diferencia entre call Transaction y juego de datos
Call transaction el procesamiento es síncrono esto quiere decir que es online y con juego de datos es asíncrono ósea de fondo, mediante call transaction se transfieren datos a solo una transacción y con juego de datos se transfieren datos a múltiples transacciones y en call transaction no se generan logs y en juego de datos se generan logs por cada sesión.