✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
Batch Input utilizando CALL TRANSACTION
1. Declaración de datos propios del batch input
- declaramos una tabla y una estructura (ambas del tipo BDCSATA)
- declaramos otra tabla y una estructura en este caso serán de tipo BDCMSGCOLL (servirán para almacenar los mensajes que se produzcan cuando ejecutamos la CALL TRANSACTION).
La estructura estándar del sistema BDCMSGCOLL es utilizada para definir la tabla interna que almacenará los mensajes de batch input.
- Declaramos una tabla de usuarios
- declaramos una tabla de errores.
2. Lectura de datos de archivos de entrada
Ejecutamos el método GUI_UPLOAD para levantar el archivo de entrada con la información para generar Batch Input.
3. Carga de la tabla BDCDATA
Se utiliza la subrutina BDC_FIELD.
4. Ejecutamos la sentencia CALL TRANSACTION
CALL TRANSACTION v_code_trans USING ti_bdc_data
MODE v_mode
UPDATE v_update
MESSAGES INTO ti_messages.
IF NOT sy_subrc EQ 0.
v_error = 'X'.
ENDIF.
- USING: aquí se especifica la tabla BDCDATA que se utiliza
- MODE: determina el modo de procesamiento que utilizará el Batch Input. Los modos posibles son:
- A - procesamiento con la visualización de todas las pantallas. SI hay un error el procesamiento se detendrá en la pantalla donde se ha producido el error para poder corregirlo.
- E - procesamiento donde se muestran las pantallas solo si ocurre un error.
- N - procesamiento donde no se muestran pantallas.
- P - procesamiento donde no se muestran pantallas. Si se alcanza un breakpoint, se pasa el control al debugger.
- UPDATE: determina el modo de actualización de los cambios que producirá Batch Input. Los modos posibles:
- A - Actualización Asincrónica. La actualización se produce de igual forma a la que sucede si utilizamos la sentencia COMMIT WORK. Es el valor por defecto.
- S - Actualización Sincrónica. La actualización se produce de igual forma a la que sucede si utilizamos la sentencia COMMIT WORK AND WAIT.
- L - Actualización Local.
- MESSAGES INTO: con el uso de esta opción, todos los mensajes generados durante el procesamiento del Batch Input son almacenados en una tabla interna de tipo BDCSGCOLL. Para montar los mensajes utilizamos la función MESSAGE_PREPARE.
Ejecutar la Batch Input con modo de procesamiento "A":
- entramos en la transacción SM30 con el nombre de la tabla y presionamos el botón Actualizar.
- presionamos el botón Entradas Nuevas
- se cargan todos los datos y presionamos Grabar.
finalmente salimos de la transacción y repetiremos esta sentencia de datos por cuantos registros de usuarios ingresamos en la tabla.
 
 
 
Sobre el autor
Publicación académica de Ana Schiau, en su ámbito de estudios para la Carrera Consultor ABAP.
Ana Schiau
España - Legajo: TK43H
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Trabajo como key user sd en un multinacional y quiero aprender a programar en abap.
Certificación Académica de Ana Schiau