1 | ¿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.
Generalmente la carga inicial de datos se realizará levantando los datos de un archivo.
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 y queda almacenado en SAP para su posterior ejecución mediante la transacción SM35(SM37).
DIRECT INPUT
Técnica alternativa para la realizar la carga masiva de datos en SAP. Los módulos de funciones de SAP ejecutan las pruebas de consistencia de datos. Los programas de Direct Input actualizan las tablas de base de datos de SAP en forma directa. No es posible escribir programas ABAP Z de Direct Input, solo se deben utilizar los ya existentes.
La Transacción estándar BMV0 se utiliza para crear y mantener los programas de Direct Input.
Ejemplos de programas de Direct Input son:
Módulo FI(Financiero) - Programa estándar RFBIBL00
Modulo MM(Gestión de Materiales) - Programa estándar RMDATIND
Modulo SD(Ventas y distribuciones) - Programa estándar RVAFSS00
Modulo AM(Administración de Activos) - Programa estándar RAALTD11
Modulo CO(Controlling) - Programa estándar RKEVEXTO
3 | 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.
Ejecución de la sentencia CALL TRANSACTION.
Estructura BDCDATA: 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
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.
4 | 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:
PROGRAM. De Tipo = Char, Long = 40. Contendrá el nombre del programa ABAP que se ejecuta.
DYNPRO. De Tipo = NUMC, Long = 4. Contendrá el numero de la dynpro o pantalla en ejecución.
DYNBEGIN. De Tipo = CHAR, Long = 1. Contendrá una "X" cuando se comience una nueva pantalla
FNAM. De Tipo = CHAR, Long = 132. Contendrá el nombre del campo que se desea cargar. Este campo es sensible a mayúsculas y minúsculas.
FVAL. De Tipo = CHAR, Long = 132. Contendrá el valor que se desea cargarr en FNAM.
NOTA: 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.