✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
BATCH INPUT UTILIZANDO CALL TRANSACTION
Crear un archivo de texto con registros que cumplan con la estructura de la tabla Z, sin tener en cuenta al campo mandante.
1° Declarar una tabla interna y una estructura, ambas del tipo BDCDATA, otra tabla interna del tipo BDCMSGCOLL con su estructura que servirán para almacenar los mensajes que se produzcan cuando se ejecuta el CALL TRANSACTION, tabla interna Z que contendrá los datos que levantamos del archivo de entrada y una tabla para mostrar por pantalla los errores entre otras declaraciones.
ESTRUCTURA BDCMSGCOLL: Es una estructura estándar del sistema, utilizada para definir la tabla interna que almacenará los mensajes del Batch input.
2° Ejecutar el método GUI_UPLOAD para levantar el archivo de entrada con la info. para generar el BI
3° Cargar la tabla BDCDATA utilizando la subrutina BDC_FIELD. Además inicializar la tabla interna del BI y la de los mensajes.
Si se va a ingresar más de un registro, hay que manejar índices para saber en qué final de la pantalla estamos cargando los datos. Esto se soluciona fácilmente, concatenando al nombre del campo el número de fila que le corresponde en la pantalla entre paréntesis.
4° Ejecutar la sentencia CALL TRANSACTION
Opciones:
USING: aquí se especifican la tabla BDCDATA que se utilizará
MODE: determina el modo de procesamiento que utilizará el BI. Los modos posibles son:
A: Procesamiento con la visualización de todas las pantallas. Es el valor por default
E: Porcesamiento donde se muestran las pantallas solo si ocurre un error. Si se alcanza un breakpoint, se termina el procesamiento con SY-SUBRC igual a 1001. El campo SY-MSGTY contendrá “S”. SY-MSGID contrandrá “00”, SY-MSGNO contendrá “344”, SY-MSGV1 contendrá “SAPMSSY3” y SY-MSGV2 contendrá el “0131”
P: Procesamiento donde no se muestran las pantallas, si se alcanza un breakpoint, se pasa el control al debugger.
Es conveniente utilizar una variable para asignar el modo de procesamiento a un Batch Input. De esta forma se podrá modificar su valor dinámicamente, durante la ejecución del programa.
UPDATE: determina el modo de actualización de los cambios que producirá el BI. 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. 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: se utiliza para que todos los mensajes generados durante el procesamiento del BI sean almacenados en la tabla interna del tipo BDCMSGCOLL. Para armar los mensajes se utiliza la función MESSAGE_PREPARE
Ejecutar el BI con modo de procesamiento “A” permite ver el paso a paso de las actualizaciones, para ingresar, vamos a la SM30 con el nombre de la tabla y presionamos el botón actualizar (Maintain), luego “entradas nuevas” (New entries). Se cargan todos los campos del registro y presionamos grabar. Finalmente salimos de la transacción y repetimos esta secuencia de pasos por cuantos registros de usuario ingresemos en la tabla.
CALL TRANSACTION: Sentencia para acceder a una transacción determinada, a partir de los datos presionados en pantalla con el agregado de la clausula AND SKIP FIRST SCREEN
 
 
 
Sobre el autor
Publicación académica de Sabrina Soledad Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Sabrina Soledad Rodriguez
Profesión: Consultor Sap Fi - Co - Bs - Argentina - Legajo: SQ30J
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Sabrina Rodriguez