✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
1) Que son los Batch Inputs
Cuando se instala en el ambiente en un Producción, es necesario dar de alta toda la información indispensable para que pueda funcionar.
Es una técnica automática mediante la cual podemos dar de alta, modificar o borrar grandes cantidades de datos en el sistema de forma automática usando las mismas transacciones con sus validaciones tal como si lo hicieramos manualmente.
2) Técnicas de Batch Input
Son dos una se hace en forma Online y la otra en forma Batch.
.- CALL TRANSACTION : se realiza ONLINE por lo que ejecuta las actualizaciones en el momento que se ejecuta el programa Batch Input.
-. JUEGO DE DATOS: se realiza en forma BATCH 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 de juegos de datos.
Audio:
Existe la alternativa de DIRECT INPUT, con esta alternativa los módulos de funciones ejecutan las pruebas de consistencia y el Batch Input se ejecuta por las pantallas, por lo que tienen mejor perfomance y actualiza los datos de SAP en forma directa , por lo que no se pueden realizar programas Z usando DIRECT INPUT y sólo se debe usar los que existen. Estos se actualizar y ver en la transacción BMV0
Los programas de DIRECT INPUT creados por SAP:
FI - RFBIB00
MM - RMDATIND
SD - RVAFSS00
AM- RAALTD11
CO - RKEVEXCO.
1) Pasos para la creación de un Batch Input:
Va a depender de la tecnica utilizada, hay distintos pasos para cada técnica:
CALL TRANSACTION:
Paso 1: Declaración de Datos Propios del Batch Input
Paso 2: Lectura de los datos de archivo de entrada
Paso 3: Carga de la Tabla BDCDATA
Paso 4: Ejecución de la sentencia CALL TRANSACTION
BDCDATA; Estructura estándar del sistema 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 Datos Propios del Batch Input
Paso 2: Lectura de los 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 l transacción SM35. o a través de la creación de un job y la ejecución del programa estándar RSBDCBTC.
RSBDCBTC: Programa estándar que nos permite realizar la ejecución Online de un juego de datos.
1) Carga de la Tabla BDCDATA
Es el paso mas importante en la ejecución de un Batch Input, esta tabla será una Tabla Interna que tendrá los mismos campos que la estructura BDCDATA. Los campos que forman parte son:
Nombre de campo |
Tipo |
Longitud |
Descripción |
PROGRAM |
CHAR |
40 |
Contendrá el nombre del programa ABAP que se ejecuta |
DYNPRO |
NUMC |
4 |
Contendrá el nro de Dynpro 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.yMinus. |
FVAL |
CHAR |
132 |
Contendrá el valor que se desea cargar en FNAM |
Ejemplo de cargar un registro a la tabla ZTABLA_USUARIOS
*Primer Pantalla
CLEAR st_bdc_data.
st_bdc_data_program = ‘SAPMSVMA’ .
st_bdc_data_dynpro = ´0100´.
st_bdc_data_dynbegin = ‘X’ .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘VIEWNAME’
St_bdc_data_fval = ‘ ZTABLA_USUARIOS’ .
APPEND st_bdc_data TO ti_bdc_data.
*Presiono Botón de mantenimiento
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘BDC_OKCODE’
St_bdc_data_fval = ‘ =UPD’ .
APPEND st_bdc_data TO ti_bdc_data.
Por cada vez que se ingrese la Tabla BDCDATA , una nueva pantalla , debe Ingrasrse un BDC_OKCODE
Luego presionamos el Botón de Nuevas Entradas
*Presiono botón de nuevas Entradas.
CLEAR st_bdc_data.
st_bdc_data_program = ‘SAPLZTABLA_USUARIOS’ .
st_bdc_data_dynpro = ´0002´.
st_bdc_data_dynbegin = ‘X’ .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘BDC_OKCODE’
St_bdc_data_fval = ‘ =NEWL’ .
APPEND st_bdc_data TO ti_bdc_data.
Los números de DYNPRO siempre son de 4 digitos
Después ingreso el registro de usuario
CLEAR st_bdc_data.
st_bdc_data_program = ‘SAPLZTABLA_USUARIOS’ .
st_bdc_data_dynpro = ´0002´.
st_bdc_data_dynbegin = ‘X’ .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘ZTABLA_USUARIOS-DNI’.
St_bdc_data_fval = st_usuarios-dni .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘ZTABLA_USUARIOS-NOMBRE-APE’.
St_bdc_data_fval = st_usuarios-nombre_ape .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘ZTABLA_USUARIOS-ESTADO_USU’.
St_bdc_data_fval = st_usuarios-estado_usu .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘BDC_OKCODE’.
St_bdc_data_fval = ‘=SAVE’ .
APPEND st_bdc_data TO ti_bdc_data.
*Cierro la segunda pantalla
CLEAR st_bdc_data.
st_bdc_data_program = ‘SAPLZTABLA_USUARIOS’ .
st_bdc_data_dynpro = ´0002´.
st_bdc_data_dynbegin = ‘X’ .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘BDC_OKCODE’.
St_bdc_data_fval = ‘=ENDE’ .
APPEND st_bdc_data TO ti_bdc_data.
*Cierro la primer pantalla
CLEAR st_bdc_data.
st_bdc_data_program = ‘SAPMSVMA’ .
st_bdc_data_dynpro = ´0100´.
st_bdc_data_dynbegin = ‘X’ .
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
St_bdc_data_fnam = ‘BDC_OKCODE’.
St_bdc_data_fval = ‘/EENDE’ .
APPEND st_bdc_data TO ti_bdc_data.
 
 
 
Sobre el autor
Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Alberto Carreira
Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G
✒️Autor de: 92 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
🎓Egresado de los módulos:
Certificación Académica de Carlos Carreira