✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
BATCH INPUT UTILIZANDO CALL TRANSACTION
Primer paso: Declaración de datos propios del batch input
- Declarar una tabla interna y estructura del tipo BDCDATA
- Declarar tabla interna del tipo BDCMSGCOLL con su estructura
- Declarar tabla interna para almacenar los datos que se levanten del archivo de entrada
- Tabla para mostrar por pantalla los errores entre otras declaraciones.
NOTA: La estructura BDCMSGCOLL es una estructura estándar del sistema, es utilizada para definir la tabla interna que almacenará los mensajes del batch input.
Segundo Paso: Lectura de datos de archivo de entrada
- Ejecutar el método GUI_UPLOAD para levantar el archivo de entrada con la información para generar el Batch Input
Tercer Paso: Carga de la tabla BDCDATA
- Inicializar la tabla interna del Batch Input y la de los mensajes.
- Utilizar la subrutina BDC_FIELD para cargar la tabla BDCDATA.
- Utilizar índices para saber en que fila de la pantalla estamos cargando los datos.
Cuarto Paso: Ejecución de la Sentencia Call Transaction
- Ejecutar Call Transaction con la siguiente sintaxis
CALL TRANSACTION v_cod_trans USING ti_bdc_data
MODE v_modo
UPDATE v_update
MESSAGE INTO ti_messages.
USING: Se especifica la tabla BDCDATA que se utilizará
MODE: Determina el modo de procesamiento que utilizará el Batch Input. Los modos posibles son:
- A: Procesamiento con visualización de todas las pantallas. Es el valor por default.
- E: Procesamiento 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 contendrá "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.
NOTA: Es conveniente utilizar una variable para asignar el modo de procesamiento a un Batch Input para poder modificar su valor dinámicamente durante la ejecución del programa.
UPDATE: Determina el modo de actualización de los cambios que producirá el Batch Input. Los modos posibles son:
- A: Actualización asincrónica. La actualización se produce de igual forma a la que sucede si utilizamos la sentencia COMMIT WORK.
- 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.
MESSAGE INTO: Con esta opción, todos los mensajes generados durante el procesamiento BATCH INPUT son almacenados en una tabla interna de tipo BDCMSGCOLL. Para armar los mensajes se utiliza la función MESSAGE_PREPARE.
La sentencia CALL TRANSACTION también es muy utilizada en reportes, 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.
 
 
 
Sobre el autor
Publicación académica de Didier Garcia Velazquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Didier Garcia Velazquez
Profesión: Licenciado en Informática - Mexico - Legajo: VZ45U
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Actualmente analista programador en lenguaje cobol/mainframe. quiero incursionar en el mundo sap como desarrollador/consultor técnico abap.
Certificación Académica de Didier Garcia