✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
Unidad 7: Batch Input vs Bapis y Temas avanzados.
Lección 4: Batch Input utilizando Call transaction.
1.- Mi primer Batch Input utilizando CALL TRANSACTION.
Los datos a cargar se extraerán de un fichero de texto, cuya estructura sera equivalente a la tabla a cargar exceptuando el campo mandante. Como se pretende una carga inicial de la tabla se borrará previamente su contenido mediante SM30.
El proceso a seguir sera el siguiente:
- Declaración de los datos propios de Batch Input
Se declarara una tabla interna y una estructura de tipo BDCDATA y otra tabla interna y estructura del tipo BDCMSGCOLL. Esta ultima tabla interna y estructura almacenaran los mensajes que se produzcan al ejecutar la sentencia CALL TRANSACTION.
Se definirán una tabla del tipo estándar de tabla de la tabla a cargar y una estructura definida como linea de tabla de la tabla anteriormente definida para el tratamiento del archivo de datos.
- Lectura de datos del archivo de entrada.
Ejecutaremos el método GUI_UPLOAD para cargar los datos del archivo y así tener en el sistema los datos a utilizar al generar el Batch Input.
- Carga de la tabla BDCDATA.
Deberán inicializarse las tablas internas de datos y mensajes del Batch Input.
Luego procederemos a la carga de la tabla interna de datos para el Batch Input. Para ello utilizaremos la subrutina BDC_FIELD de la que se ha hablado en lecciones anteriores. Como se insertaran múltiples registros se deberá manejar un indice para saber que fila de la pantalla se esta informando. Ello se lograra concatenando al nombre de campo el número de fila que le corresponde a la pantalla entre paréntesis.
- Ejecución de la senténcia CALL TRANSACTION.
La sentencia tiene el siguiente formato:
CALL TRANSACTION <nombre transacción> USING <tabla interna tipo BDCDATA>
MODE <modo de proceso>
UPDATE <modo de actualización>
MESSAGES INTO <tabla interna tipo BDCCOLL>
MODE. Existen los siguientes modos de proceso.
1. A. Procesamiento con visualización de todas las pantallas. Valor por defecto.
2. E. Procesamiento donde se muestran las pantallas solo si hay error. Si se alcanza un breakpoint se termina el proceso y se genera un mensaje de error.
3. N. Procesamiento donde no se muestran pantallas.
4. P. Procesamiento donde no se muestran pantallas. Si se alcanza un breakpoint, se pasa el control al debugger.
Se recomienda evitar asignar hardcodes al modo de procesamiento. Para ello se utilizara una variable de manera que el valor de la misma sea modificable en tiempo de ejecución.
UPDATE. Tenemos los siguientes modos de actualización:
1. A. Actualización Asincrónica. La actualización se produce de igual forma a cuando se ejecuta la sentencia COMMIT WORK.
2. S. Actualización Sicrónica. La actualización equivale a la ejecución de la sentencia COMMIT WORK AND WAIT.
3. L. Actualización local.
MESSAGES INTO. Se cargan todos los mensajes generados por el Batch Input en la tabla interna del tipo BDCCOLL. Para dar un formato claro a los mensajes disponemos de la función MESSAGE_PREPARE.
La sentencia CALL TRANSACTION también es muy utilizada en report para acceder a una determinada transacción con los datos presionados en una pantalla. En ese caso llevará agregada la cláusula AND SKIP FIRST SCREEN.
 
 
 
Sobre el autor
Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Compte Sanchez
Profesión: Sap Business&integration Architect - España - Legajo: QQ38S
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.
Certificación Académica de Francisco Compte