
Batch Input usando juego de datos: el objetivo de este BI de prueba es la carga incial de datos de la tabla ZTABLA_USUARIOS.
Creamos un archivo de textos con lso registros que cumplan con la estructura de la tabla ZTABLA_USUARIOS sin tener en cuenta el campo mandante. Borramos el contenido de la tabla.
Pasos:
1. Declaraciión de los datos propios del BI: 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 CL_GUI_FONTEND_SERVICES=>GUI_UPLOAD para levantar el archivo de entrada con la información para generar el BI.
3. Apertura de la sesión del juego de datos: usamos la función BDC_OPEN_GROUP, especificando el mandante, el grupo y el usuario.
4. Carga de la tabla BDCDATA: usamos la subrutina BDC_FIELD, antes debemos inicializar la tabla interna del BI.
5. Inserción del juego de datos: utilizamos la función BDC_INSERT.
6. Cierre de la sesión del jeugo de datos: utilizamos la función BDC_CLOSE_GROUP.
7. Ejecución del juego de datos: entramos en la transacción SM35, seleccionamos el jeugo de datos y presionar el botón EJECUTAR (PROCESS). En la siguiente ventana de diálogo 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.
LAS PRINCIPALES DIFERENCIAS ENTRE LAS TECNICAS DE CALL TRANSACTION Y JUEGO DE DATOS SON:
MEDIANTE CALL TRANSACTION EL PROCESAMIENTO ES SINCRO, ONLINE, EN CAMBIO MEDIANTE JUEGO DE DATOS EL PROCESAMIENTO ES ASINCRONO, OFFLINE, DE FONDO.
MEDIANTE CALL TRANSACTION SE TRANSFIEREN DATOS SOLO A UNA TRANSACCION EN CADA CALL TRANSACTION, EN CAMBIO MEDIANTE JUEGO DE DATOS SE TRANSFIEREN DATOS A MULTIPLES TRANSACCIONES.
CALL TRANSACTION NO GENERA LOGS, JUEGO DE DATOS SE GENERAN LOGS POR CADA SESION.
Utilización del programa RSBDCBTC para la ejecución del juego de datos: podemos ejecutar el JD en forma ONLINE mediante la ejecución del programa RSBDCBTC y cerrar el JOB. Luego si vamos a la transacción SM35 vemos que el juego de datos se procesó sin la necesidad de hacerlo en forma manual.