✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
Que es un Batch Input
Cuando se instala una aplicacion en produccion , es necesaria realizar una carga inicial de datos. Por la cantidad de registros que debemos ingresar
debemos aplicar la tecnica de Batch Input. Esta es una tecnica automatica mediante el cual podremos realizar la carga masiva de datos en el sistema
utilizando las validaciones de las transacciones.
Tecnicas de un Batch Input
CALL TRANSACTION (ONLINE) .- Se ejecuta las actualizaciones al momento que se ejecuta el Batch Input. Se utiliza la sentencia CALL TRANSACTION
JUEGO DE DATOS (BATCH o de FONDO) .- Queda almacenado en SAP para su posterior ejecucion mediante la transaccion SM35 Consiste en la ejecucion de una serie de funciones estandar para la apertura , ejecucion y cierre del juego de datos.
Alternativa del Batch Input Existe Direct Input . Direct input tiene ventajas en perfomance , solo tiene sentido si cumplen con el objetivo del requerimiento. estos programas actualizan las BD de forma directa. Esto esta prohibido debido a que se pierde la consistencia .Direct Input son la excepcion a la regla. No hay Z para Direct Input. Es ideal la transferencia de grande cantidades. Para mantener e iniciar estos programas se utiliza la transaccion BMV0
ej. direct Input :
FI = RFBIBL00
MM = RMDATIND
SD = RVAFSS00
AM = RAALTD11
CO = RKEVEXTO
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 BCDATA (Estructura Estandar. Utilizada en el Batch Input. ya que define el tipo de datos de la tabla interna que almacena los datos que se cargaran el 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 la sesion de juego de datos.
4.-Carga de la tabla BCDATA
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 estandar
RSBDCBTC (Nos permite realizar la ejecucion online de un juego de datos)
Carga de la tabla BCDATA
Campos de la BCDATA
Nombre Campo
Tipo
Longitud
Descripcion
PROGRAM
CHAR
40
Contendra el nombre del programa ABAP que se ejecuta
DYNPRO
NUMC
4
Contendra el numero de la dynpro o pantalla de ejecucion
DYNBEGIN
CHAR
1
Contendra 'X' cuando empieze una nueva pantalla
FNAM
CHAR
132
Contendra el nombre del campo que se desea cargar.Es sensible a Mayus y minus
FVAL
CHAR
132
Contendra el valor que se desea cargar en la FNAM
escribiremos el codigo para insertar un registro a la tabla ZTABLA_USUARIO
* 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 boton 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 en la tabla BCDATA, una nueva pantalla debe ingresarse BDC_OKCODE
Luego presionamos el boton en nuevas entradas
* Presiono boton de nuevas entradas
CLEAR st_bdc_data.
st_bdc_data-program = 'SAPLZTABLA_USUARIOS'.
st_bdc_data-dynpro = '0001'.
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 DYNPROS siempre deben tener 4 digitos.
Luego ingreso el registro del usuario.
CLEAR st_bdc_data.
st_bdc_data-program = 'SAPLZTABLA_USUARIOS'.
st_bdc_data-dynpro = '0001'.
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 = 'ZTABLA_USUARIOS-DIRECCION'.
st_bdc_data-fval = st_usuarios-direccion.
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
st_bdc_data-fnam = 'ZTABLA_USUARIOS-CODIGO_POSTAL'.
st_bdc_data-fval = st_usuarios-codigo_postal.
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
st_bdc_data-fnam = 'ZTABLA_USUARIOS-FECHA_NAC'.
st_bdc_data-fval = st_usuarios-f_nacimiento.
APPEND st_bdc_data TO ti_bdc_data.
CLEAR st_bdc_data.
st_bdc_data-fnam = 'ZTABLA_USUARIOS-ESTADO_CIVIL'.
st_bdc_data-fval = st_usuarios-estado_civil.
APPEND st_bdc_data TO ti_bdc_data.
Por ultimo grabamos y salimos de ambas pantallas
* Grabo los Registros
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 = '0001'.
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 Fabian Samir Geldres Del Carpio, en su ámbito de estudios para la Carrera Consultor ABAP.
Fabian Samir Geldres Del Carpio
Profesión: Computación E Informatica - Peru - Legajo: XT66M
✒️Autor de: 51 Publicaciones Académicas
🎓Cursando Actualmente: Consultor Funcional Módulo PP
🎓Egresado del módulo:
Certificación Académica de Fabian Geldres