✒️ABAP El Batch Input utilizando el Juego de datos
ABAP El Batch Input utilizando el Juego de datos
MI PRIMER BATCH INPUT UTILIZANDO JUEGO DE DATOS
Utilizaremos la Técnica del JUEGO DE DATOS para crear un batch Input , El objeto del batch Input sera la carga Inicial de datos de la tabla ZTABLA_USUARIOS.
Se debe crear un archivo de texto que tenga la estructura de la tabla ZTabla_Usuarios, sin tomar en cuenta el campo mandante.
- Como se ara una carga inicial prmero borramos su contenido , antesde la ejecución .
Se realizaran los siguientes pasos:
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 contendra los registros que se extraigan del archivo de texto.
2- LECTURA DE DATOS DE ARCHIVO DE ENTRADA
Ejecutamos el metodo CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD para levantar el archivo de entrada con la información que genera el Batch Input.
3- APERTURA DE LA SESIÓN DEL JUEGO DE DATOS
Para realizar la apertura usamos la función BDC_OPEN_GROUP , especificando el mandante y grupo de usuario.
4- CARGA LA TABLA BDCDATA
Para cargar la tabla BDCDATA usaremos la subrutina BDCFIELD, , antes debemos inicializar la tabla interna del BATCH INPUT.
5- INSERCIÓN DEL JUEGO DE DATOS
Para realizar la inseción del juego de datos vamos a utilizar la función BDC_INSERT,
6- CIERRE DE LA SESIÓN DEL JUEGO DE DATOS
Para cerrar el juego de datos usamos la función BDC_CLOSE_GROUP .
7- EJECUCIÓN DEL JUEGO DE DATOS
SM35 - USada para realizar la ejecución del Juego de Datos , Seleccionamos el juego de datos y presionamos el boton Ejecutar(Process) .
- Luego de ejecutar aparecera una ventana , debemos activar, la opcion Invisible (Background) y ejecutamos (Process)
- Finalmente la session cambiara de status dependiendo del resultado de la ejecución y los datos se actualizaran en la tabla ZTABLA_USUARIOS.
Las diferencias entre Call Transaction y Juego de Datos son:
Call TRansaction - El procesamiento es sincrono o online, se transfieren datos solo a una transacción en cada call transaction, no se generan logs.
JUEGO DE DATOS - asincrono o de fondo, se tranfere datos a multiples transacciones, se generan logs por cada sessión
USANDO EL 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 estandar RSBDCBTC , pero primero debemos crear un JOB , submitir la ejecución del programa RSBDCBTC y cerrar el JOB .
- Vamos a la transac SM35 vemos que el juego de Datos se procesó sin la necesidad de hacerlo manualmente.
 
 
 
Agradecimiento:
Ha agradecido este aporte: David Camacho Espinoza
Sobre el autor
Publicación académica de Victor Rodríguez Azcárate, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Rodríguez Azcárate
Profesión: Ingeniero de Sistemas - Peru - Legajo: AK14S
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Victor Rodríguez