✒️ABAP / El Batch Input utilizando Call transaction Por Gabriel Luces González
ABAP El Batch Input utilizando Call transaction

El Batch Input (BI) utilizando la técnica CALL TRANSACTION es uno de los dos métodos principales para realizar la carga masiva y automática de datos en SAP, con la particularidad de que se ejecuta de forma online (en línea).
Concepto y EjecuciónLa técnica CALL TRANSACTION utiliza la sentencia ABAP CALL TRANSACTION para ejecutar las actualizaciones de datos en el momento exacto en que se corre el programa del Batch Input.
El objetivo de implementar un BI con esta técnica, como se ejemplifica en las fuentes, es realizar la carga inicial de datos en una tabla base de datos como ZTABLA_USUARIOS a partir de la información contenida en un archivo de entrada,.
Pasos para la Implementación (4 Fases)La creación de un Batch Input utilizando CALL TRANSACTION se divide en cuatro pasos secuenciales:
1. Declaración de Datos PropiosSe declaran los tipos de datos necesarios, principalmente:
- Una tabla interna y una estructura del tipo estándar BDCDATA, la cual define el tipo de datos que almacenará la información de la carga,.
- Una tabla interna y una estructura del tipo BDCMSGCOLL para guardar los mensajes (como errores) que se generen durante la ejecución del CALL TRANSACTION,.
- Tablas internas para los datos de entrada (ej. de usuarios) y para registrar los errores.
Se lee la información que se va a cargar desde un archivo de entrada (local o en el servidor),. Esto se realiza, por ejemplo, utilizando el método GUI_UPLOAD de la clase CL_GUI_FRONTEND_SERVICES,.
3. Carga de la Tabla Interna BDCDATAEste es el paso más importante. Se carga la tabla interna BDCDATA con la secuencia de interacciones (pantallas, campos y valores) necesarias para ejecutar la transacción. Para modularizar y simplificar este proceso, se recomienda usar una subrutina como LLENAR_TABLA_BDCDATA,.
Cuando se ingresa más de un registro, es necesario manejar índices para saber en qué fila de la pantalla se están cargando los datos. Esto se soluciona concatenando el número de fila correspondiente entre paréntesis al nombre del campo ('ZTABLA_USUARIOS-DNI('V_INDICE')').
4. Ejecución de la Sentencia CALL TRANSACTIONFinalmente, se ejecuta la sentencia principal, que tiene la siguiente sintaxis:
CALL TRANSACTION v_cod_trans USING ti_dbcdata MODE v_modo UPDATE v_update MESSAGES INTO ti_mensajes.
- USING ti_dbcdata: Especifica la tabla interna BDCDATA cargada previamente.
- MODE: Define el modo de procesamiento, determinando la visualización de las pantallas. Los modos posibles son:
- A: Muestra todas las pantallas (valor por defecto),.
- E: Muestra las pantallas solo si ocurre un error.
- N: No muestra ninguna pantalla.
- P: No muestra pantallas, pero si se encuentra un breakpoint, pasa el control al debugger.
- UPDATE: Define el modo de actualización de los cambios, siendo A (Asincrónica) el valor por defecto (similar a COMMIT WORK), y S (Sincrónica) (similar a COMMIT WORK AND WAIT) otras opciones,.
- MESSAGES INTO ti_mensajes: Almacena todos los mensajes generados (errores, warnings, etc.) durante el proceso en la tabla interna de tipo BDCMSGCOLL. Para armar mensajes de error detallados, se puede usar el módulo de funciones MESSAGE_PREPARE,.
La sentencia CALL TRANSACTION también puede ser utilizada en reportes para acceder a una transacción específica a partir de datos de entrada, a menudo incluyendo la cláusula AND SKIP FIRST SCREEN.
 
 
 
Sobre el autor
Publicación académica de Gabriel José Luces González, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Gabriel José Luces González
Profesión: Consultor Sap Pm - Chile - Legajo: LA36W
✒️Autor de: 214 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor SAP FI Nivel Inicial
- Carrera Consultor SAP MM Nivel Inicial
Presentación:
Objetivo principal, adquirir todos los conococimiento relacionado al modulo de mm que me permita complementar mis conocimientos en el mundo sap
Certificación Académica de Gabriel Luces






Disponibilidad Laboral: FullTime


















