✒️ABAP / El concepto de Batch Input Por Miguel Castro Lima
ABAP El concepto de Batch Input

Concepto de Batch Input:
- ¿Qué es un Batch Input?: Técnica automática mediante la cual podemos realizar la carga masiva de datos en el sistema, utilizando las validaciones de las transacciones.
- Técnicas de Batch Input: Existen dos técnicas para realizar Batch Input:
CALL TRANSACTION: Se realiza en forma Online, por lo que se ejecuta las actualizaciones en el momento en que se ejecuta el programa del Batch Input.
JUEGO DE DATOS: Se realiza en Batch o de Fondo y queda almacenado en SAP para su posterior ejecución mediante la Transacción SM35, que consiste en la ejecución de una serie de funciones estándar para la apertura, ejecución y cierre de juego de datos.
Tips:
La Técnica DIRECT INPUT (Entrada Directa) es usada como:
Alternativa para la carga de datos. Las pruebas de consistencia se realizan a través de los módulos de funciones de SAP.
El DIRECT INPUT tiene ventajas importantes en cuanto a PERFORMANCE en comparación al BATCH INPUT, pero hay pocos programas para realizar el Direct Input y tiene sentido ejecutarlo si cumple plenamente con el objetivo del requerimiento.
Los programas de DIRECT INPUT actualizan las tablas de base de datos en SAP en forma directa. Estos programas son la excepción a la regla ya que como sabemos SAP no permite actualizar sus tablas estándar.
No es posible escribir programas ABAP Z de DIRECT INPUT, hay que utilizar los ya existentes. Si se pueden escribir para actualizar las tablas BD Z, teniendo en cuenta la consistencia y seguridad de los datos.
SAP ha creado programas de DIRECT INPUT en un esfuerzo de querer mejorar los procedimientos de Batch Input cuya velocidad de procesamiento es inferior.
La técnica de DIRECT INPUT es ideal para la transferencia de grandes cantidades de datos. Para mantener e inicial estos programas, se utiliza la transacción estándar BMV0.
Ejemplos de programas para DIRECT INPUT son:
Módulo Financiero (FI): RFBIBL00.
Módulo Gestión de Materiales (MM): RMDATIND.
Módulo de Ventas y Distribuciones (SD): RVAFSS00.
Módulo Administración de Activos (AM): RAALTD11.
Módulo de Control (CO): RKEVEXTO.
- Pasos para la creación de un Batch Input: Dependen del la técnica utilizada. Pasos para cada técnica:
CALL TRANSACTION:
Paso 1ero.: Declaración de datos propios del Batch Input.
Paso 2do.: Lectura de datos de archivos de entradas.
Paso 3ero.: Carga de la tabla BDCDATA.
Paso 4to.: Ejecución de la sentencia CALL TRANSACTION.
JUEGO DE DATOS:
Paso 1ero.: Declaración de datos propios del Batch Input.
Paso 2do.: Lectura de datos de archivos de entradas.
Paso 3ero.: Apertura de la sesión del Juego de Datos.
Paso 4to.: Carga de la tabla BDCDATA.
Paso 5to.: Inserción del Juego de Datos.
Paso 6to.: Cierre de la sesión del Juego de Datos..
Paso 7mo.: 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.
4. Carga de la tabla BDCDATA:
Este es el paso más importante en la ejecución de un Batch Imput. Tal como se hace referencia, la tabla BDCDATA, es una tabla interna que tendrá la misma estructura que la tabla. Los campos son:
- Nombre Campo | Tipo | Longitud | Descripción.
- PROGRAM CHAR 40 Contiene el nombre del programa ABAP que se ejecuta.
- DYNPRO NUMC 4 Contiene el número de la Dynpro o Pantalla en ejecución.
- DYNBEGIN CHAR 1 Contiene una "X" cuando se comience una nueva pantalla.
- FNAM CHAR 132 Contiene el nombre del campo que se desea cargar, Este campo es sensible a mayúsculas y minúsculas.
- FVAL CHAR 132 Contiene el valor que se desea cargar en FNAM.
TIPS:
- Cada vez que se ingrese en la tabla BDCDATA, una nueva pantalla. Debe ingresarse un BDC_OKCODE.
- Los números de las dynpro siempre deben tener 4 dígitos.
Conceptos relacionados:
Ø Carga inicial de datos:
Es el Proceso que consiste en el ingreso de los datos necesarios para el funcionamiento de una aplicación en un ambiente del sistema.
También es común hablar de carga inicial de datos en la fase previa a la implementación de un proyecto SAP en una empresa. En esta etapa se ingresará en las tablas de la base de datos del sistema SAP los datos maestros.
En ABAP existen varias técnicas que se pueden utilizan para realizar carga masiva de datos, una de ellas es el Batch Inputs, otra es la utilización de BAPIS que reemplazan a los Batch Inputs.
Ø OPEN SQL:
Es el Lenguaje estructurado de consulta. Es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas.
La gran ventaja que nos proporciona el OPEN SQL de SAP es que nos independiza del motor de base de datos que se haya instalado en la base de datos, es decir, ya sea que la base de datos sea Oracle o Hana o Informix, la forma de acceder a los datos será siempre la misma.
Se llaman sentencias Open SQL a aquellas propias de ABAP que simulan un subconjunto de sentencias SQL (“Structured Query Language”).
En general, las sentencias SQL (del tipo que sean) se usan para el acceso a datos en tablas. Las Open SQL tratan tablas de bases de datos (es decir, las tablas del Diccionario de Datos) mientras que las Native SQL tratan tablas internas).
Las sentencias Open SQL son:
SELECT (lectura de registros de una tabla)
INSERT (inserción de un registro en una tabla)
UPDATE (modificación de un registro)
OPEN CURSOR (abre un cursor)
FETCH (avanza una posición el cursor)
CLOSE CURSOR (cierra un cursor)
COMMIT WORK (actualiza los últimos cambios de la BD, confirmando que se hacen las modificaciones)
ROLLBACK WORK (deshace las modificaciones hechas a la BD volviendo al último checkpoint)
Ø Transacción SM35: Consiste en la ejecución de una serie de funciones estándar para la apertura, ejecución y cierre de juego de datos.
Transacción BMV0: Consiste en mantener e iniciar los programas de DIRECT INPUT.
Estructura BDCDATA: Estructura estándar del sistema muy utilizada en los Batch Input ya que define el tipo de datos de la tabla interna que almacena los datos que se cargaran en el Batch Input.
Programa RSBDCBTC: Programa estándar del sistema que nos permite realizar la ejecución OnLine de un Juego de Datos.
Transacción SM30: Para actualizar vista de tabla. Actualizar registros.
Creado OK
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Castro Lima, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Miguel Angel Castro Lima
Profesión: Analista Programador de Sistemas - Venezuela - Legajo: XD60H
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor SAP HCM Nivel Avanzado
- Carrera Consultor SAP HCM Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Presentación:
Consultorías, análisis y programación en sistemas con más de 30 años de experiencia
Certificación Académica de Miguel Castro






Disponibilidad Laboral: FullTime


















