✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
Batch Input
Es una técnica que consiste en simular a un usuario ingresando datos en SAP pero de manera automática y utilizando las validaciones que nos proporciona el sistema en sus transacciones. Es un método seguro y fiable. se utiliza generalmente cuando debe realizarse un elevado número de altas, modificaciones o bajas.
Carga Inicial de datos: Proceso que consiste en el ingreso de los datos necesarios para el funcionamiento de una aplicación en un ambiente del sistema.
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.
CALL TRANSACTION: se realiza de forma online, por lo que se ejecuta las actualizaciones en el momento en que se ejecuta el programa del Batch Input. Se utiliza la sentencia estándar CALL TRANSACTION.
JUEGO DE DATOS: se realiza de forma BATCH (o de fondo) 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.
Existe la técnica llamada DIRECT INPUT o ENTRADA DIRECTA a través de este los módulos de función de SAP ejecutan la prueba de consistencia en el BATCH INPUT estos controles de consistencia se ejecutan con la ayuda las pantallas, esto significa que el DIRECT INPUT tiene ventajas importantes en cuanto a PERFORMANCE en comparación al BATCH INPUT pero hay pocos programas para realizar direct input y tiene sentido utilizarlo solo si cumplen plenamente con el objetivo del requerimiento. Los programas del direct input actualizan las tablas en forma directa, como sabemos esto esta prohibidos ya que los datos estándar de SAP no se pueden actualizar de forma directa debido a que esta forma se pierde la consistencia y la seguridad de 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 utilizar los ya existente, pero si se pueden escribir programas ABAP para actualizar las tablas Z siempre teniendo en cuenta la consistencia y la seguridad de los datos.
SAP creo programas de direct Input, con la finalidad de mejorar los procedimientos de Batch input cuyo velocidad de procesamiento es muy inferior al direct input, esta técnica es ideal para la transferencia de grandes cantidades de datos, utilizando la transacción estándar BMV0.
Pasos para la creación de un BATCH INPUT
- CALL TRANSACTION:
- Declaración de datos propios del BATCH INPUT.
- Lectura de datos de archivo de entrada
- Carga de la tabla BDCDATA (estructura estándar SAP que se utiliza para la carga de datos en un Batch Input.)
- Ejecución de la sentencia CALL TRANSACTION
BDCDATA: esta estructura estándar del sistema es muy utilizada en los batch inputs ya que define el tipo de datos de la tabla interna que almacena los datos que se cargaran en el batch input.
- JUEGO DE DATOS:
- Declaración de los datos propios del Batch Input.
- 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 transacción SM35 o a través de la creación de un Job y la ejecución del programa estándar RSBDCBTC
Programa RSBDCBTC: este programa estándar del sistema nos permite realizar la ejecución online de un juego de datos.
Juego de Datos: Técnica de Batch Input donde la ejecución se ejecuta en forma Batch o de fondo y queda almacenada en SAP para su posterior ejecución mediante la transacción SM37. Se utilizan funciones estándar SAP para la apertura, inserción y cierre del juego de datos.
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.
Tal como hacemos referencia, esta tabla será una tabla interna que tendrá los mismos campos que la estructura BDCDATA. Los campos que forman parte de esta estructura son:
- Program Tipo Char Longitud 40 y contendrá el nombre del programa ABAP que se ejecuta.
- DYNPRO Tipo Numc Longitud 4 y Contendrá el nro. de la dynpro o pantalla en ejecución
- DYNBEGIN Tipo Char Longitud 1 y Contendrá una "X" cuando se comience una nueva pantalla.
- FNAM Tipo Char Longitud 132 y Contendrá el nombre del campo que se desea cargar. este campo es sensible a mayúsculas y minúsculas.
- FVAL Tipo Char Longitud 132 y Contendrá el valor que se desea cargar en FNAM.
Transacción SM30: Actualización de vistas de tabla. Transacción para la actualización de los registros de una tabla. para poder actualizar una tabla esta debe tener creada una superficie de actualización.
Por cada vez que se ingrese en la tabla BDCDATA, una nueva pantalla, debe ingresarse un BDC_OKCODE.
Los números de las dynpros siempre deben tener 4 dígitos.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Xxxxxx Xxxxxx
Sobre el autor
Publicación académica de Jeferson José Peña Curvelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Jeferson José Peña Curvelo
Venezuela - Legajo: PD49W
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jeferson Peña