![](/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/275.jpg)
BATCH INPUT UTILIZANDO CALL TRANSACTION
MI PRIMER BATCH INPUT UTILIZANDO CALLA TRANSACTION
El objetivo del BATCH INPUT es la carga inicial de datos de la tabla ZTABLA_USUARIOS, para ello creamos un archivo de texto con registros que cumplan con la estructura de la tabla.
Luego borramos su contenido previamente a la ejecucion. Ahora, seguimos los siguientes pasos:
- DECLARACION DE DATOS PROPISO DEL BATCH INPUT
Declaramos una tabla interna y una estructura, ambas de tipo BDCDATA, otra del tipo BDCMSGCOLL, la cual servira para almacenar los mensajes que produzca cuando ejecutamos el CALL TRANSACTION.
BDCMSGCOL estructura estandar del sistema es utilizada para definir la tabla interna que almacenara los mensajes del batch input
- LECTURA DE DATOS DE ARCHIVO DE ENTRADA
Ejecutar el metodo GUI_UPLOAD para levantar el archivo de entrada
- CARGAR LA TABLA BDCDATA
Utilizando la subrutina BDC_FIELD
EJECUCION DE LA SENTENCIA CALL TRANSACTION, veamos a detalle cada una de las opciones que maneja:
USING: aqui especificamos la tabla BDCDATA qu eutilizara
MODE: determina el modo de procesamiento que utilizara el batch input, los cuales son:
- A - Procesamiento con la visualizacion de todas las pantallas
- E - Procesamiento donde se muestran las pantallas solo si ocurre un error, el cual maneja un breakpoint
- N - Procesamiento donde no se muestran las pantallas
- P - Procesamiento donde no se muestran las pantallas, si alncanza un breakpoint se pasa al debugger
Cuando estamos desarrollando un programa que realiza un batch input mediante la técnica de call transaction, es sumamente útil procesar el batch input mediante el modo de ejecución A, el cual nos permite visualizar cada una de las pantallas ya que en caso de error en los datos que introducimos en la tabla BDCDATA el procesamiento se detendrá en la pantalla correspondiente al error y será allí donde tendremos que analizar cómo solucionarlo. Una vez que detectamos y corregimos el error, podemos modificar el modo de ejecución a N.
UPDATE: Determina el modo de actualizacion de los campos que producira el batch input, los modos posibles son:
- A - Actualizacion asincrónica, la cual se produce igual a la sentencia COMMIT WORK
- S - Actualizacion sincrónica, la cual se produce igual a la sentencia COMMIT WORK AND WAIT
- L - Actualizacion local
MESSAGES INTO: Con esta opcion todos los mensajes generado durante el procesamiento del batch input son almacenados en la tabla interna del tipo BDCMSGCOLL (Tabla interna se utiliza para almacenar los mensajes resultantes de la ejecucion de un CALL TRANSACTION).
Utilizamos la funcion MESSAGE_PREPARE para armar los mensajes generalmente en un batch input.
La sentencia CALL TRANSACTION es muy utilizada en reportes, para acceder a una transaccion determinada a partir de los datos presionados en pantalla, con el agregado de la clausula AND SKIP FIRST SCREEN, F1 para mas informacion.
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez