✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
Lección 7.1
CONCEPTO DE BATCH IMPUT:
Qué es un Batch Input:
Con los B.I. se puede dar de alta, modificar o borrar grandes cantidades de datos de forma automática y utilizando las mismas transacciones, con sus respectivas validaciones, como si lo hiciésemos manualmente.
Es una técnica automática por la cual se realiza la carga masiva de datos en el sistema utilizando las validaciones de las transacciones.
La carga inicial de datos es el proceso que consiste en cargar toda la información necesaria para que el sistema funcione. Por lo general se realiza mediante la carga desde un archivo.
Técnicas de B.I.:
- Online: CALL TRANSACTION: ejecuta las transacciones en el momento de ejecución del B.I. y requiere interacción con el usuario.
- Fondo/ Batch: JUEGO DE DATOS: queda almacenado en SAP para su posterior ejecución mediante la transacción SM37. Ejecuta una serie de funciones para la apertura, ejecución y cierre del juego de datos.
Direct Input o Entrada Directa: Los módulos de funciones de sap efectúan las pruebas de consistencia; Los programas de Direct Input actualizan los datos de las tablas de BD en forma directa.
Como alternativa a la carga inicial de datos mediante B.I., existe la técnica llamada direct input o entrada directa. A través de ésta, los módulos de funciones sap ejecutan las pruebas de consistencia. En el B.I. estos controles se ejecutan con la ayuda de las pantallas, esto significa que el direct input tiene ventajas importantes en cuanto a performance en comparacion al B.I. pero hay pocos programas para realizar direct input y tiene sentido usarlos solo si cumplen plenamente con el objetivo del requerimiento. Los programa de direct input actualizan las tablas base de datos de sap en forma directa. Como sabemos esto está prohibido ya que los datos estandar de sap no se pueden actualizar en forma directa debido a que de esta forma se pierde la consistencia y seguridad e los datos. Los programas de direct input son la excepción a la regla, por lo tanto no es posible escribir programas abap z de direct input sino que debemos usar los ya existentes, pero por supuesto que si se puede escribir programas abap para actualizar las tablas base de datos z siempre teniendo en cuenta la consistencia y seguridad de los datos. SAP ha creado programas de direct input en un esfuerzo de querer mejorar los B.I. cuya velocidad de procesamiento en muy inferior a las direct input. La técnica del direct input es ideal para la transferencia de grandes cantidades de datos. Para mantener e iniciar estos programas se usa la trx estandar bmv0. Ejemplo de programas de direct input son: para el módulo FI -> RFBIBel00 MM -> Rmdataind SD-> rvafss00 AM-> raaltd11 CO->rkevexto.
Creación de un B.I.:
Depende de la técnica utilizada:
CALL TRANSACTION
- Declaración de datos propios del B.I.
- Lectura de datos de archivo de entrada.
- Carga de la tabla BDCDATA.
- Ejecución de la sentencia CALL_TRANSANCTION.
BDCDATA:
Estructura estandar que define el tipo de datos de la T.I. que almacena los datos de entrada (puede ser por el archivo de entrada) que se cargarán en el B.I.
JUEGO DE DATOS:
- Declaración de los datos propios del B.I.
- Lectura de datos de archivo de entrada.
- Apertura de la sesión del Juego de Datos.
- Carga de la tabla BDCDATA.
- Inserción del Juego de Datos.
- Cierre de la sesión del Juego de Datos.
- Ejecución del Juego de Datos a través de la trx SM37 o por la creación de un job y la ejecución del programa estándar RSBDCBTC
RSBDCBTC:
Programa estandar que permite realizar la ejecución online de un Juego de Datos.
Carga de la Tabla BDCDATA:
Es el paso más importante. Esta tabla interna que contendrá los mismos campos que la estructura BDCDATA:
PROGRAM (40) TYPE C. à nombre del programa
DYNPRO (4) TYPE NUMC. à nombre de la dynpro o pantalla en ejecución
DYNBEGIN (1) TYPE C. à ‘X’ cuando comienza una nueva pantalla
FNAM (132) TYPE C. à nombre del campo a cargar (sensible a mayúsculas y minúsculas)
FVAL (132) TYPE C. à contendrá el valor que se desea cargar en FNAM
NOTAS: Por cada vez que se ingrese en la tabla BDCDATA una nueva pantalla, debe ingresarse un BDC_OKCODE.
Si en la tabla se ingresan más que un registro, se debe manejar un índice.
EJEMPLO: Supongamos que queremos cargar un registro a la tabla ZTABLA_USUARIOS, podemos hacerlo directamente a través de la TX. SE30, y añadir el registro, o a través del Batch Imput
 
 
 
Agradecimiento:
Ha agradecido este aporte: Patricia Lopez Cuevas
Sobre el autor
Publicación académica de Elisa Munoz Robles, en su ámbito de estudios para la Carrera Consultor ABAP.
Elisa Munoz Robles
Profesión: Analista Orgánico - España - Legajo: CM72B
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Perfil: analista orgánico
Certificación Académica de Elisa Munoz