✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
7.1. - El concepto de Batch input
7.1.1. - ¿Qué es un batch input?
Es la técnica automática mediante la cual se podrá realizar la carga masiva de datos en el sistema utilizando las validaciones de las transacciones. Es un método seguro y fiable. L idea detrás del concepto de batch input es simular a un usuario interactuando o cargando datos en una o varias pantallas de una transacción, la cual puede ser estándar o “Z”. Existen dos posibilidades de realizar un batch input:
1. Call Transaction
a. Si la ejecución se realiza de forma online.
2. Juego de datos
a. Si la ejecución se realiza de fondo o batch.
7.1.2. - Técnicas de batch input
Existen dos técnicas para realizar un batch input, una se realiza de forma online y la otra en forma batch.
1. Call Transaction
a. Se realiza de forma online, por lo que ejecuta las actualizaciones en el momento en que se ejecuta el programa del batch input. Se utiliza la sentencia estándar “Call transaction”.
2. Juego de datos
a. Se realiza de forma batch y queda almacenado en SAP para su posterior ejecución mediante la transacción SM35. Consiste en la ejecución de una serie de funciones estándar para la apertura, ejecución y cierre del juego de datos.
Como alternativa a estas dos técnicas, existe una técnica llamada “Direct input”. A través de “Direct input”, los módulos de funciones de SAP ejecutan las pruebas de consistencia. Estos controles de consistencia se ejecutan con la ayuda de las pantallas, lo que indica que tiene ventajas importantes en cuanto a la performance en comparación con el “Batch input”. Hay pocos programas “Direct input” y solo tiene sentido utilizarlos si cumplen con el objetivo del requerimiento.
Los programas de “Direct input” actualizan las tablas de base de datos de SAP en forma directa. Esto está prohibido, ya que los datos estándar no se pueden actualizar en SAP de forma directa, debido a que se pierde la consistencia y la seguridad de los datos. Estos programas son la excepción. Solo se pueden utilizar los programas existentes, no se pueden crear programas de tipo “Z”.
Para mantener y utilizar estos programas, se utiliza la transacción BMV0. Ejemplos de programas de “Direct input” son:
1. Módulo financiero
a. RFBIBL00
2. Módulo de gestión de materiales
a. RMDATIND
3. Módulo de ventas y distribuciones
a. RVAFSS00
4. Módulo de administración de activos
a. RAALTD11
5. Módulo de controlling
a. RKEVEXTO
7.1.3. - Pasos para la creación de un batch input
Los pasos para la generación de un Batch input dependen de la técnica utilizada.
1. CALL TRANSACTION
a. Declaración de datos propios del Batch input
b. Lectura de datos de archivo de entrada
c. Carga de la tabla BDCDATA
d. Ejecución de la sentencia CALL TRANSACTION
2. Juego de datos
a. Declaración de los datos propios del Batch input
b. Lectura de datos de archivo de entrada
c. Apertura de la sesión del juego de datos
d. Carga de la tabla BDCDATA
e. Inserción del juego de datos
f. Cierre de la sesión del juego de datos
g. Ejecución del juego de datos a través de la transacción SM35 o a través de la creación de un job y la ejecución del programa estándar RSBDCBTC
7.1.4. - Carga de la tabla BDCDATA
El paso más importante en la ejecución de un Batch input es la carga de la tabla BDCDATA. La tabla BDCDATA será una tabla interna que tendrá los mismos campos que la estructura BDCDATA.
En el ejemplo se quiere hacer un batch input para cargar con un registro a la tabla de usuarios “ZTABLA_USUARIOS”.
Para ejecutarlo manualmente, habría que hacer lo siguiente:
Acceder a la transacción SM30, introducir el nombre de la tabla, pulsar el botón de modificación, pulsar el botón de nuevas entradas, introducir el contenido del registro, pulsar el botón grabar y salir de la transacción. El código para realizar lo descrito, sería de la siguiente forma. Para acceder a la primera pantalla y presionar el botón de mantenimiento.
Cada vez que se añada a la tabla BDCDATA, una nueva pantalla, debe añadirse un BDC_OKCODE. Posteriormente, pulsar el botón de nuevas entradas. Los números de las dynpros deben tener 4 dígitos.
Posteriormente, se introduce el registro del usuario. Con este código, se daría de alta un solo registro en la tabla de usuarios. Si se requiere añadir mas de un registro, hay que manejar un índice.
Por último, se graba y se sale de las pantallas.
 
 
 
Sobre el autor
Publicación académica de Adrian Fernandez Marcos, en su ámbito de estudios para la Carrera Consultor ABAP.
Adrian Fernandez Marcos
Profesión: Técnico de Sistemas - España - Legajo: FQ91J
✒️Autor de: 116 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
Certificación Académica de Adrian Fernandez