✒️ABAP El Batch Input utilizando el Juego de datos
ABAP El Batch Input utilizando el Juego de datos
Unidad 7: Batch Input vs. Bapis y temas avanzados.
Lección 6: Batch Input utilizando Juego de Datos.
1.- Mi primer Batch Input utilizando Juego de Datos.
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 que contendrá los datos recuperados del fichero.y estructura del tipo BDCMSGCOLL.
- 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.
- Apertura sesión de juego de datos.
Utilizaremos para ello la función BDC_OPEN_GROUP informando mandante, grupo y usuario. El grupo se informará a partir de la variable de sistema SY-REPID.
- Carga de la tabla BDCDATA.
Deberán inicializarse las tablas internas de datos 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.
- Inserción del juego de datos.
Para ello llamaremos a la función BDC_INSERT que requiere que se pasen como parámetros el nombre de la transacción simulada y la tabla de estructura BDCDATA.
- Cierre de la sesión de juego de datos.
Se hará llamando a la función BDC_CLOSE_GROUP.
- Ejecución juego de datos.
Para ello ejecutamos la transacción SM35. Donde seleccionaremos el juego de datos. De los diferentes modos de proceso que se nos presentarán escogeremos el modo "Invisible". Una vez finalizada la ejecución podremos ver en que estado ha quedado y validaremos con SM30 si la tabla se cumplimento correctamente.
Es posible ejecutar un juego de datos de forma Online mediante la ejecución del programa estándar RSBDCBTC.
Para ello deberemos crear un job y submitir el programa estándar de la siguiente manera:
SUBMIT rsbdcbtc
USER sy-uname
VIA JOB <jobgroup>
NUMBER <jobcount>
WITH que_id = <identificador de cola>
WITH mappe = <jobgroup>
WITH modus = 'N' "no display"
WITH logall = ''
AND RETURN.
Con SM35 podemos ver los resultados de la ejecución.
2. Diferencias entre Batch Input por Call Transaction y por Juego de Datos.
- Mediante Call Transaction el procesamiento es síncrono es decir Online por Juego de Datos es asíncrono osea en fondo.
- Mediante Call Transaction se transfieren datos solo a una transacción en cada llamada. En Juego de Datos se transfieren datos a múltiples transacciones.
- Mediante Call Transaction no se generán logs. Por Juego de Datos se genera un log por sesión.
 
 
 
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