✒️ABAP / El concepto de Batch Input Por Juan Romero
ABAP El concepto de Batch Input

Conceptos claves de batch input.
Definición y problemática de batch inputs
- El batch input es una técnica de SAP para la carga masiva automática de datos en nuevas transacciones, permitiendo aprovechar las validaciones estándar del sistema.
- Se utiliza principalmente en la carga inicial de datos cuando se implementan nuevas transacciones en producción, evitando la tediosa y larga tarea de ingreso manual de grandes volúmenes de información (por ejemplo, diez mil clientes).
- Ingresar datos directamente vía programación (open SQL) omitiría validaciones estándar, requiriendo mayor desarrollo y pruebas para asegurar la calidad de los datos.
- Existen dos técnicas principales para ejecutar batch inputs:
- "Call transaction": Online, ejecuta las actualizaciones en tiempo real mediante la sentencia estándar CALL TRANSACTION.
- "Juego de datos": En modo batch o fondo, almacena el procesamiento para ejecutar posteriormente desde la transacción SM35, utilizando módulos de funciones estándar para gestionar la apertura, ejecución y cierre de la sesión de datos.
- Los pasos varían según la técnica empleada:
- Para "call transaction":
- Declaración de datos para batch input.
- Lectura de datos desde archivo de entrada.
- Carga de la tabla interna BDC data.
- Ejecución de CALL TRANSACTION.
- Para "juego de datos":
- Declaración de datos para batch input.
- Lectura del archivo de entrada.
- Apertura de sesión del juego de datos.
- Carga en la tabla interna BDC data.
- Inserción y cierre de la sesión.
- Ejecución mediante SM35 o programa RSBDCBTC.
- El programa estándar RSBDCBTC permite ejecutar "juego de datos" online.
- La estructura estándar BDC data es fundamental para almacenar los datos a cargar en los batch inputs.
- Ejemplo explicado de cómo cargar un registro en la tabla de usuarios ZTABLA_USUARIOS usando la transacción SM30 de SAP.
- Cada pantalla o "dynpro" involucrada en el proceso requiere introducir un BDC_OKCODE en la tabla interna.
- Recordatorio importante: los números de pantalla en SAP deben tener cuatro dígitos.
- El ejemplo mostrado es para un único registro; para más registros, es necesario manejar el índice, lo cual se abordará en futuras lecciones.
Descripción de la técnica Direct Input
- Direct input es una alternativa a la carga de datos mediante batch input en SAP.
- Al utilizar direct input, los módulos de función de SAP ejecutan controles de consistencia directamente, a diferencia del batch input que lo hace a través de pantallas.
- Direct input ofrece ventajas importantes en términos de performance en comparación con batch input.
- Pocos programas implementan la técnica de direct input y sólo deben usarse si cumplen completamente con los requisitos del proceso.
- Los programas de direct input actualizan directamente las tablas base de datos estándar de SAP, lo cual por regla está prohibido, pero estos programas son la excepción a esa norma.
- No es posible desarrollar programas Z de direct input para tablas estándar de SAP; sólo está permitido usar los existentes.
- Se pueden desarrollar programas Z para tablas base de datos propias (tablas Z), siempre asegurando la consistencia y seguridad de los datos.
- SAP desarrolló programas direct input para mejorar la eficiencia comparado con batch input, especialmente útil para grandes volúmenes de datos.
- La administración y ejecución de estos programas se hace mediante la transacción estándar BMB0.
- Ejemplos de programas estándar de direct input mencionados:
- RFBIL00 (Módulo Financiero/FII)
- RNDATIND (Gestión de Materiales/MM)
- RBAFGSS00 (Ventas y Distribución/SD)
- RAALTD11 (Administración de Activos/AM)
- RKGEXCO (Controlling/CO)
- Se repasaron los conceptos básicos del batch input, explicando que existen dos formas principales de ejecutarlo: "call transaction" (proceso en línea) y "juego de datos" (proceso en segundo plano).
- Se resaltó que la técnica de "juego de datos" también puede usarse en línea, aunque esto es menos común.
- Ambas técnicas requieren cargar la misma tabla interna, BS Data, con las instrucciones para la carga masiva de datos.
- La tabla BS Data tiene una estructura específica compuesta por cinco campos clave que se usan para ejecutar los pasos del batch input.
- Es necesario declarar una estructura (work area) para trabajar con BS Data y siempre se debe cargar la tabla durante el proceso.
- El primer dato a cargar debe ser el nombre del programa (siempre en mayúsculas porque SAP es sensible a mayúsculas/minúsculas) y el nombre de la "dimpro" (pantalla), que debe tener cuatro dígitos.
- Al cargar una línea para un programa y dimpro, es obligatorio agregar una línea correspondiente al BSOKCODE (el botón presionado en la pantalla).
- Los batch input funcionan de forma similar a una grabación automática, por lo que cualquier cambio en el nombre del programa, número de dimpro o tipo de dato puede hacer que dejen de funcionar.
- Una de las principales limitaciones frente a otras herramientas más estables de SAP, como las BAPIs estándar, es su fragilidad ante modificaciones del sistema.
- Las BAPIs, que se verán más adelante, incorporan validaciones estándar y se actualizan con el sistema, mientras que los batch input (programas Z) no cuentan con esta ventaja.
- De todas maneras, los batch input siguen siendo útiles para procesos de carga masiva de datos.
Sugerencias
- Revisar los ejemplos de código y práctica en el manejo de la estructura BDC data para mejorar la comprensión.
- Visualizar el video recomendado para consolidar los conceptos teóricos vistos en la lección.
- Preparar dudas o consultas para las próximas lecciones, especialmente sobre la carga de múltiples registros en batch input.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Romero, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Juan Ignacio Romero
Profesión: Ing. Sistemas Computacionales - Mexico - Legajo: LJ26F
✒️Autor de: 138 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Juan Romero






Disponibilidad Laboral: FullTime


















