✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
Lección 7.4
BATCH INPUT UTILIZANDO CALL TRANSACTION
Para ello, se crea un archivo de texto con registros que cumplan con la estructura de la tabla Z, sin tener en cuenta al campo mandante.
Pasos:
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”
N: Procesamiento donde no se muestran las pantallas
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
NOTA: 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 cláusula AND SKIP FIRST SCREEN
 
 
 
Agradecimiento:
Ha agradecido este aporte: Patricia Lopez Cuevas
Sobre el autor
Publicación académica de Elisa Munoz Robles, en su ámbito de estudios para la Carrera Consultor ABAP.
Elisa Munoz Robles
Profesión: Analista Orgánico - España - Legajo: CM72B
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Perfil: analista orgánico
Certificación Académica de Elisa Munoz