![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
![ABAP El Batch Input utilizando Call transaction ABAP El Batch Input utilizando Call transaction](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/362.jpg)
1. Mi primer Batch Input utilizando CALL TRANSACTION.
El objetivo será: la carga inicial de datos.
Para esto, crearemos un archivo de texto con registros que cumplan la estructura de una tabla.
a) Declaración de datos propios del batch input:
Declaramos una tabla interna, una estructura ambas de tipo BDCDATA.
Otra tabla de tipo BDCMSGCOLL con su estructura; están almacenaran los mensajes que se produzcan al ejecutar el CALL TRANSACTION
Tabla interna de usuarios, tendrá datos para levantar el archivo de entrada.
Una tabla para mostrar por pantalla los errores.
*BDCMSGCOLL: se usa para definir la tabla interna que almacenaran los mensajes del batch input.
b) Lectura de datos de archivo de entrada:
Ejecutaremos el CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD para levantar el archivo de entrada con la información para generar el batch input.
c) Carga de la tabla BDCDATA:
Usaremos la subrutina BDC_FIELD. Debemos inicializar la tabla interna del batch input y de los mensajes.
Tendremos que manejar un índice para saber en qué fila de la pantalla estamos cargando los datos para esto debemos de concatenar al nombre del campo el número de final que le corresponda en paréntesis.
d) Ejecución de la sentencia CALL TRANSACTION:
Ejecutamos el CALL TRANSACTION
En USING: se especifica la tabla BDCDATA que se usara
En MODE: determina el procesamiento que usara Batch Input:
A: procesamiento con la visualización de todas las pantallas. es el valor por default.
E: procesamiento donde se muestra las pantallas solo si ocurre un error.
N: procesamiento donde no se muestran las pantallas
P: procesamiento donde se se muestran las pantallas, si se alcanza un breakpoint, se pasa el control al debugger.
* Es importante usar una variable para asignar el modo del procesamiento de un Batch Input, podemos modificar su valor dinámicamente, durante se ejecute el programa.
* Es útil procesar el batch input por el mode A, permite visualizar cada una de las pantallas ya que, si hay un error en los datos, el procesamiento se detendrá en la pantalla del error, debemos analizar como solucionarlo, podemos modificar el modo de ejecución a N.
UPDATE: determina la actualización de los cambios que se harán en el batch input:
A: actualización asincrónica, se produce de igual forma a la que sucede si usamos la sentencia COMMIT WORK. Valor por defecto.
S: actualización sincrónica, la actualización se hace de igual forma si usamos el COMMIT WORK AND WAIT.
L: actualización local.
MESSAGES INTO: todos los mensajes generados durante el proceso del batch input son almacenados en una tabla interna BDCMSGCOLL, se usa la función MESSAGE_PREPARE.
Ejecutaremos en modo de procesamiento A, ya que nos permite ver paso a paso las actualizaciones.
Ingresamos a la transacción SM30, con el nombre de la tabla y presionamos ACTUALIZAR (MAINTAIN)
Luego presionamos el botón ENTRADAS NUEVAS (NEW ENTRIES)
Ingresamos todos los datos para el usuario y presionamos grabar, salimos de la transacción.
Debemos repetir esta secuencia por todos los usuarios que registremos en la tabla
* CALL TRANSACTION: es usada también en reportes, su clausula es AND SKIP FIRST SCREEN.
 
 
 
Sobre el autor
Publicación académica de José Luis Villafán Salinas, en su ámbito de estudios para la Carrera Consultor ABAP.
José Luis Villafán Salinas
Profesión: Ingeniería de Sistemas - Peru - Legajo: CM59C
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Presentación:
Tengo el agrado de dirigirme a usted, con el objetivo de formar parte de un equipo de trabajo y superarme en todos los aspectos de mi vida. considero que podría integrarme adecuadamente al trabajo.
Certificación Académica de José Villafán