✒️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.
Supongamos que se deben introducir en una tabla base de datos 10.000 registros. Tenemos dos posibilidades ingresar los 10.000 registros manualmente, lo que nos tomará una enorme cantidad de tiempo o hacerlo en forma automática, mediante un Batch Input.
Existen dos alternativas al momento de hacer un Batch Input:
- Si la ejecución se realizará en forma online, entonces las actualizaciones se realizarán en el momento por lo que utilizaremos un CALL TRANSACCION.
- Si la ejecución se realizará de fondo o batch, quedando almacenado en SAP para su posterior ejecución entonces crearemos un Juego de datos.
CALL TRANSACTION
Sentencia estándar ABAP que permite la llamada a una transacción SAP.
La sintaxis de la sentencia CALL TRANSACTION es la siguiente:
CALL TRANSACTION <tcode>
USING <bdc_tab>
MODE <mode>
UPDATE <update>
Donde <tcode> es el nombre de la transacción que deseamos llamar.
<bdc_tab> es el nombre de la tabla que completaremos y pasaremos con datos.
<mode> indica como se realizará la actualización (A, E o N).
<update> indica como se realzara la actualización.
Cuando utilizamos la sentencia CALL TRANSACTION tenemos la posibilidad de completar previamente los parámetros de entrada
BDCDATA
Es una estructura estándar SAP que se utiliza para la carga de datos en un Batch Input.
Un Batch Input es una técnica de SAP, que se utiliza para cargar en el sistema datos, utilizando las transacciones de SAP y con ello estamos utilizando las validaciones propias de estas transacciones.
La gran ventaja que tiene es que es una excelente herramienta para la carga inicial de datos en el sistema.
La gran desventaja que presenta es que si SAP cambia algo dentro de una transacción, como ser el nombre del programa, el número de la dynpro o pantalla, o el nombre de un campo de la pantalla, entonces el Batch Input dejará de funcionar como debe hacerlo.
En los programas que realizan un Batch Input vamos a declarar una tabla interna con el formato de la estructura estándar BDCDATA.
Los campos que componen a la estructura BDCDATA son los siguientes:
- PROGRAM -> Indica el nombre del programa
- DYNPRO -> Indica el número de la pantalla o dynpro
- DYNBEGIN -> Al comienzo de una nueva pantalla o dynpro debemos asignarle 'X' o ' ' si no estamos comenzando una nueva dynpro.
- FNAM -> Indica el nombre del campo de la pantalla en el que se deben introducir los datos.
- FVAL -> Indica el valor a introducir en el campo de la pantalla.
RSBDCBTC
Es el programa estándar de SAP que nos permite la ejecución online de un programa Batch Input que se ejecuta mediante la técnica de Juego de datos.
Mediante este programa podremos simular la ejecución online de un Batch Input.
Existe otro programa estándar de SAP muy utilizados en los Batch Inputs con Juego de datos, que es el programa RSBDCSUB.
Utilizaremos el programa RSBDCSUB para liberar sesiones de batch input automáticamente.
La diferencia entre el programa RSBDCSUB y el programa RSBDCBTC, reside en que cuando se procesa el programa y se espera que se publique la sesión, si usamos RSBDCSUB, las sesiones completas del programa se publican de una sola vez, mientras que si utilizamos RSBDCBTC, cada sesión es única y puede ser liberada automáticamente independientemente del nombre del programa.
 
 
 
Sobre el autor
Publicación académica de Cesar Armando Gutierrez Gomez, en su ámbito de estudios para la Carrera Consultor ABAP.
Cesar Armando Gutierrez Gomez
Profesión: Ingeniero en Sistemas y Redes Infor - El Salvador - Legajo: KQ36J
✒️Autor de: 89 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Cesar Gutierrez