✒️ABAP El Batch Input utilizando el Juego de datos
ABAP El Batch Input utilizando el Juego de datos
Batch Input utilizando Juego de Datos
1 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 los registros que cumplan con la estructura de la tabla ZTABLA_USUARIOS, sin tener en cuenta el campo mandante:
<< imagen 1.1 >>
Como queremos realizar la carga inicial de la tabla de usuarios, borraremos su contenido previamente a la ejecución del ejemplo.
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 del tipo BDCDATA, y otra tabla interna de usuarios (del tipo ti_archivo que es el mismo que la tabla ZTABLAUSUARIOS) que contendrá los registros que carguemos del archivo de entrada.
<< imagen 1.2 >>
2.- Lectura de datos de archivo de entrada
Ejecutamos el método GUI_UPLOAD para cargar el archivo de entrada con la información para generar el Batch Input.
<< imagen 1.3 >>
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 mandante, el grupo y el usuario. El nombre del Juego de datos lo especificamos en la variable V_GROUP. Aqui generalmente se coloca el nombre del programa la fecha del dia hora del dia.
<< imagen 1.4 >>
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 y como vemos a continuación.
<< imagen 1.5 >>
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.
<< imagen 1.6 >>
7.- Ejecución del Juego de Datos
Para realizar la ejecución del Juego de Datos vamos a entrar en la transacción SM35. Seleccionamos el Juego de Datos y lo ejecutamos presionando el botón "Ejecutar (Process").
<< imagen 1.7 >>
En la siguiente ventana de diálogo marcamos la opción "Invisible (Backgroud)" y presionamos "Ejecutar (Process)"
<< Imagen 1.8 >>
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.
<< imagen 1.9 >>
Audio: La principales diferencias entre las técnicas de CALL TRANSACTION y Juego de Datos, son:
- Mediante CALL TRANSACTION el procesamiento es síncrono, es decir online, en cambio con Juego de Datos es procesamiento es asíncrono, es decir de fondo.
- Mediante CALL TRANSACTION se transfieren datos solo a una transacción en cada CALL TRANSCTION, en cambio, en Juego de Datos se transfieren datos a múltiples transacciones.
- Mediante CALL TRANSACTION no se generan logs, en cambio, mediante Juego de Datos se generan logs por cada sesión.
2 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 y como vemos a continuación:
<< imagen 2.1 >>
Despues, si accedemos a la transcción SM35 vemos que el Juego de Datos se procesó sin la necesidad de hacerlo manualmente.
<< imagen 2.1 >>
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti
Sobre el autor
Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.
José Antonio Saavedra Rodríguez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial