✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
Lección: El concepto de Batch Input
1) Qué es un Batch Input?
Cuando se instala una aplicación en un ambiente de producción, es necesario dar de alta toda la información que es indispensable para que pueda funcionar. A este proceso lo llamamos carga inicial de datos
Mediante la técnica de Batch Input, podremos dar de alta, modificar o borrar grandes cantidades de datos en el sistema, de forma automática y utilizando las mismas transacciones, con sus respectivas validaciones, tal como si lo hiciéramos manualmente de a 1 dato por vez
Batch input: Técnica automática mediante la cual podremos realizar la carga masiva de datos en el sistema utilizando las validaciones de las transacciones
Generalmente, la carga inicial de datos se realizará levantando los datos de un archivo
archivos externos-programa batch input-sap
2) Técnicas de Batch Input
Call Transaction: 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
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 SM37. Consiste en la ejecución de una serie de funciones estándar para la apertura, ejecución y cierre del juego de datos
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. Veamos cuales son los pasos a seguir para cada técnica
CALL TRANSACTION
Paso 1º: declaración de datos propios del Batch input
Paso 2º : lectura de datos de archivo de entrada
Paso 3º: carga de la tabla BDCDATA
Paso 4º: ejecución de la sentencia CALL TRANSACTION
Estructura 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 cargarán en el batch input
JUEGO DE DATOS
Paso 1º: declaración de los datos propios del Batch input
Paso 2º: lectura de datos de archivo de entrada
Paso 3º: apertura de la sesión del juego de datos
Paso 4: carga de la tabla BDCDATA
Paso 5º: inserción del juego de datos
Paso 6º: cierre de la sesión del juego de datos
Paso 7º: 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
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. Los campos que forman parte de esta estructura son:
Nombre campo Tipo Longitud Descripción
PROGRAM CHAR 40 Contendrá el nombre del programa abap que se ejecuta
DYNPRO NUMC 4 Contendrá el nº la dynpro o pantalla en ejecución
DYNBEGIN CHAR 1 Contendrá una X cuando se comience una nueva pantalla
FNAM CHAR 132 Contendrá el nombre del campo que se desea cargar. Este campo es sensible a mayúsculas y minúsculas
FVAL CHAR 132 Contendrá el valor que se desea cargar en FNAM
Veamos un ej sencillo de como cargaríamos la tabla BDCDATA. Supongamos que queremos hacer un Batch input para cargar con un registro a nuestra tabla de usuarios ZTABLA_USUARIOS
Si ejecutamos esta acción en forma manual, deberíamos hacer lo siguiente:
Ingresar a la transacción SM30 introducir el nombre de la tabla, presionar el botón de modificación o maintan, presionar el botón de nuevas entradas o new entries, introducir el contenido del registro con todos sus campos, presionar el botón grabar y salir de la transacción
Si representamos el código el procedimiento anteriormente descrito, escribiríamos: para ingresas a la primer pantalla y presionar el botón de mantenimiento
Por cada vez que se ingrese en la tabla BDCDATA, una nueva pantalla, debe ingresarse un BDC_OKCODE
Luego, presionamos el botón de Nuevas entradas
Los números de las dynpros siempre deben tener 4 dígitos
Después ingreso el registro del usuario. En la imagen que vemos no figuran todos los campos de la tabla de usuarios
El código anterior está diseñando para dar de alta un solo registro en la tabla de usuarios
Si quisiéramos ingresar más de un registro, vamos a tener que manejar un indice
Por último, grabamos y salimos de ambas pantallas
 
 
 
Sobre el autor
Publicación académica de Aida Cortina Fernandez, en su ámbito de estudios para la Carrera Consultor ABAP.
Aida Cortina Fernandez
Profesión: Consultor Junior - España - Legajo: MK87X
✒️Autor de: 74 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Aida Cortina