✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
MI PRIMER BATCH INPUT UTILIZANDO CALL TRANSACTION.
1- La declaración de datos propios del BATCH INPUT
Declaramos una tabla interna y una estructura, ambas de tipo BDCDATA, otra tabla interna del tipo BDCMSGCOLL con su estructura, que servirá para almacenar los mensajes que se produzcan cuando ejecutemos el CALL TRANSACTION, la tabla interna de usuarios, que contendrá los datos que levantemos del archivo de entrada y una tabla para mostrar por pantalla los errores entre otras declaraciones.
Estructura BDCMSGCOLL:
Es utilizada para definir la tabla interna que almacenara los mensajes del BATCH INPUT.
2- lectura de datos del archivo de entrada
Ejecutamos el método GUI_UPLOAD de la clase CL_GUI_FRONTEND_SERVICES para levantar el archivo de entrada con la información para generar el BATCH INPUT.
3- la carga de la tabla interna BDCDATA.
Utilizamos la subrutina llenar_tabla_bdcdata, antes debemos inicializar la tabla interna del Batch input y la de los mensajes.
Cómo vamos a usar más de un registro tendremos que manejar índices para saber en qué fila de la pantalla estamos cargando los datos. Esto lo solucionamos fácilmente, concatenando al nombre del campo, el número de la fila que le corresponde en la pantalla entre paréntesis.
4- ejecución de la sentencia CALL TRANSACTION
CALL TRANSACTION v_cod_trans USING ti_bdcdata
MODE v_modo
UPDATE v_update
MESSAGES INTO ti_mensajes.
Ahora que terminamos con todos los pasos del Batch input, vamos a ejecutarlo con modo de procesamiento A, que nos permite ver el paso a paso de las actualizaciones.
Lo primero que hacemos es ingresar a la transacción SM30 con el nombre de la tabla de base de datos ZTABLA_USUARIOS y hacemos clic en el botón actualizar.
Luego hacemos clic en el botón entradas nuevas. El sistema nos informa que no existen entradas en la tabla base de datos ZTABLA_USUARIOS.
Se cargan todos los campos del registro y hacemos clic en el botón grabar.
Salimos de la dynpro en dónde completamos el registro de la tabla de base de datos ZTABLA_USUARIOS.
Y salimos de la pantalla inicial de la transacción y repetiremos está secuencia de pasos por cuántos registros de usuarios ingresemos en la tabla de base de datos ZTABLA_USUQRIOS.
La sentencia CALL TRANSACTION también es muy utilizada en reportes , para acceder a una transacción determinada, a partir de los datos introducidos en pantalla, con el agregado de la cláusula AND SKIP FIRST SCREEN.
Finalmente si chequeamos el contenido de la tabla de base de datos ZTABLA_USUARIOS a través de la transacción SE16 vamos a verificar que efectivamente existen tres registros que son los que acabamos de insertar en la tabla.
 
 
 
Sobre el autor
Publicación académica de Gerardo Jose Campos Tovar, en su ámbito de estudios para la Carrera Consultor ABAP.
Gerardo Jose Campos Tovar
Profesión: Barbero - Argentina - Legajo: JH51R
✒️Autor de: 24 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Mi principal motivo es lograr obtener los conocimientos necesarios para así lograr cambiar de ambiente de trabajo y superar mis objetivos laborales y economicos.
Certificación Académica de Gerardo Campos