✒️ABAP / El concepto de Batch Input Por Lisimaco Prieto Herrera
ABAP El concepto de Batch Input

El concepto de Batch Input
¿Que es un Batch Input?
Cuando se implementa una nueva transacción en el ambiente de producción de SAP, es necesario dar de alta toda la información que es indispensable para que esta pueda funcionar. A este proceso le llamamos carga inicial de datos.
Suponga que se necesita hacer la carga inicial de datos en SAP de 10.000 Clientes. Para hacer esto, tendríamos que ingresar 10.000 veces a la transacción maestro de clientes, lo cual sería una tarea demasiado tediosa y sumamente costosa en tiempo.
Algo similar ocurriría si necesitamos ingresar 10.000 registros en una tabla BD, ya que si bien, en este caso, podríamos crear un programa que mediante instrucciones de Open SQL argue los registros, no estaríamos usando todas las validaciones estándar que tiene las transacciones de SAP, por lo que necesitaríamos dedicar mucho tiempo para cubrir ese bache.
Para solucionar este inconvenientes, SAP introduce la técnica de Bath Input, mediante la cual, podremos dar de alta, modificar o borrar grandes cantidades de datos en el sistema, de forma automática y usando las mismas transacciones, con sus respectivas validaciones, tal como si lo hiciéramos manualmente de a 1 dato vez.
Batch Input: Es una técnica automática mediante la cual podremos realizar la carga masiva de datos en el sistema SAP usando las validaciones propias de las transacciones.
Generalmente la carga inicial de datos se realiza levantando los datos de un archivo, ya sea local o ubicado en el servidor de aplicaciones de SAP.
Las técnicas de Batch Input
Son 2, una se realiza de forma online y la otra en forma batch o de fondo. Ellas son:
CALL TRANSACTION: se realiza de forma online, por lo que ejecuta las actualizaciones en el momento en que se ejecuta el programa Batch Input. Para ello se usa la sentencia CALL TRANSACTION.
JUEGO DE DATOS: se realiza de forma batch o de fondo y queda almacenado en SAP para su posterior ejecución mediante la transacción SM35. Consiste en la ejecución de una serie de módulos de funciones estándar para la apertura, ejecución y cierre del llamado juego de datos.
Los pasos para la creación de un Batch Input
Los pasos para la generación de un Batch Input dependen de la técnica usada. Los pasos para cada técnica son:
CALL TRANSACTION
Paso 1. la declaración de datos propios del Batch Input.
Paso 2: la lectura de datos del archivo de entrada.
Paso 3: la carga de la tabla interna BDCDATA.
Paso 4: la ejecución de la sentencia CALL TRANSACTION.
La estructura BDCDATA es del estándar de SAP y es muy usada en los batch input ya que define el tipo de datos de la tabla interna que almacena los datos que se cargarán en el batch input.
JUEGO DE DATOS:
Paso 1: la declaración de los datos propios del Batch Input.
Paso 2: la lectura de datos del archivo de entrada.
Paso 3: la apertura de la sesión del Juego de Datos.
Paso 4: la carga de la tabla interna BDCDATA.
Paso 5: la inserción del Juego de Datos.
Paso 6: el cierre de la sesión del Juego de Datos.
Paso 7: la ejecución del Juego de Datos a través de la transacción SM35 o a través de la creación de un job y la ejecución del programa estándar RSBDCBTC.
RSBDCBTC: programa estándar de SAP que nos permite realizar la ejecución online de un juego de datos.
La carga de la tabla interna BDCDATA
El paso más importante en la ejecución de un Batch Input es la carga de la tabla interna BDCDATA.
Esta tabla tiene los mismos campos de la estructura BDCDATA. y sus campos son los siguientes:
Ejemplo: vamos a cargar un registro a la tabla BD ZTABLA_USUARIOS.
Si se hiciera manual, se haría lo siguiente:
Ingresar a la transacción estándar SM30.
Introducir nombre de la tabla BD.
Hacer clic en el botón de modificación.
Hacer clic en el botón de nuevas entradas.
Introducir el contenido del registro con todos sus campos.
Hacer clic en el botón grabar.
Salir de la transacción.
Si representamos en código el procedimiento anteriormente descrito escribiríamos lo siguiente:
Ingresar a la primera pantalla de la transacción SM30, introducir el nombre de la tabla BD ZTABLA_USUARIOS y hacer clic en el botón modificación, usaríamos el siguiente código:
Por cada vez que se ingrese en la tabla interna BDCDATA una nueva pantalla debe ingresarse un BDC_OKCODE.
Luego hacemos clic en el botón Nuevas entradas.
Los números de las pantallas o dynpros, tal como se les conoce en SAP a las pantallas, siempre deben tener 4 dígitos.
Después ingresamos el contenido del registro con todos sus campos.
El código anterior está diseñado para dar de alta un solo registro en la tabla BD ZTABLA_USUARIOS.
Si quisiéramos ingresar más de un registro, vamos a tener que manejar un indice. Esto lo veremos en detalle en las próximas lecciones.
Por último grabamos los cambios.
Y salimos de ambas pantallas de la transacción SM30.
En la próxima lección veremos en detalle cómo hacer para obtener todos los datos que vimos en las imágenes anteriores y que son necesarios para completar la tabla interna BDCDAT.
 
 
 
Sobre el autor
Publicación académica de Lisimaco Prieto Herrera, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Lisimaco Prieto Herrera
Profesión: Ingeniero de Sistemas - Colombia - Legajo: DV67X
✒️Autor de: 96 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Ingeniero de sistemas con amplia experiencia en el desarrollo de software para el sistema sap r/3 en lenguaje de programación abap.
Certificación Académica de Lisimaco Prieto






Disponibilidad Laboral: FullTime


















