✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
Batch Input
1 Que es?
Es una tecnica que consiste en simular a un usuaio ingresando datos en SAP pero de manera automatica y utilizando las validaciones que nos proporciona el sistema en sus transacciones. Es un metodo seguro y fiable. se usa generalmente cuando debe realizarse un elevado numero de altas, modificaciones o bajas.
2 Técnicas de Batch Input
Dos formas una online y en forma Batch
CALL TRANSACTION se realiza de forma Online, se ejecuta las actualizaciones en el momento en que se ejcuta el programa del batch input.
Sentencia estandar que nos permite la llamada a una transaccion SAP.
Juego de datos: se realiza de forma Batch y queda almacenado en SAP para su posterior ejecución mediante la transaccion SM35.
Es una serie de funciones para la apertura, ejecucion y cierre del juego de datos.
Direct Input o entrada directa los modulos de funciones de SAP ejecutan las pruebas de consistencia, en el batch input estas pruebas de consistencia se ejecutan con la ayuda de las pantallas esto significa que tiene el direct Input ventajas de performance en comparacion al batch input pero hay pocos programas para hacer direct input y tiene sentido utilizarlos solo si cumplen plenamente con el objetivo del requerimiento los progrmas de direct input actualizan las tablas de base de datos en forma directa. Esto esta prohibido por la consistencia de datos pero el direct es la exepcion a ello. No se pueden escribir programas z de direct input hay que utilizar solo los existentes.
BMV0 para entrar al direct input estandard.
3 Pasos para la creacion de un Batch input
CALL TRANSACTION
1. Declaracion de datos propios del batch input
2 Lectura de datos de archivo de entrada.
3 Carga de la tabla BDCDATA(Estructura estandard 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 cargaran en el batch input).
4. Ejecucion de la sentencia CALL TRANSACTION.
JUEGO DE DATOS
1. Declaracion de los datos propios del batch Input.
2. Lectura de datos de archivo de entrada.
3. Apertura de las sesion del juego de datos.
4. Carga de la tabla BDCDATA.
5. Insercion del juego de datos
6. Cierre de la sesion del juego de datos.
7. Ejecucion del juego de datos a traves de la transaccion sm35 o a traves de la creacion de un job y la ejecucion del programa estandard RSBDCCTC.(Este programa estandard del sistema nos permite realizar la ejecucion online de un juego de datos).
4 Carga de la tabla BDCDATA
Program = Contendra el nombre del programa abap que se ejecuta.
DYNPRO = contendra el nro de la Dynpro o pantalla en ejecucion.
DYNBEGIN= contendra una X cuando se comience una nueva pantalla.
FNAM = Contendrá el nombre del campo que se desea cargar, este campo es sensible a mayusculas y minusculas.
FVAL = Contendra el valor que se desea cargar en FNAM.
si lo hacemos por la transaccion SM30
seria:
1. Presionar boton modificar.
Equivalencia con BDC_data
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.
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 nueva pantalla debe ingresarse un BDC_OKCODE.
2. Boton nueva Entrada
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 numeros de los dynpros simpre deben tener 4 digitos.
3. Ingresar el contenido
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.
Este codigo esta diseñado para dar de alta un solo registro.
4. presionar grabar.
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
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
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.
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Joaquin Garcia Marrero
Sobre el autor
Publicación académica de Silvia Marina Carrizo, en su ámbito de estudios para la Carrera Consultor ABAP.
Silvia Marina Carrizo
Profesión: Analista Senior Genexus - Argentina - Legajo: ER54O
✒️Autor de: 61 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Silvia Carrizo