✒️ABAP El concepto de Batch Input
ABAP El concepto de Batch Input
EL CONCEPTO DE BATCH INPUT
1.- Què es un batch Input ?.- Es una tècnica automàtica mediante la cual se puede 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, como se viò en la unidad anterior.
ARCHIVOS_EXTERNOS-----PROGRAMA_BATCH_INPUT------SAP
2.- Tècnicas de Batch Input.
Existen dos tècnicas: En forma ONLINE y la otra en forma BATCH.
- CALL TRANSACTION: Se realiza en 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 SM35. 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.
Dependen de la tècnica utilizada:
CALL TRANSACTION
1.- Declaraciòn de datos propios del batch input
2.- Lectura de datos de archivo de entrada
3.- Carga de la tabla BDCDATA
4.- Ejecuciòn de la sentencia CALL TRANSACTION
"Estructura BDCDATA.- Esta estructura estàndar del sistema es muy utilizada en los batch input ya que define le tipo de datos de la tabla interna que almacena los datos que se cargaràn en el batch input"
JUEGO DE DATOS.
- 1: Declaraciòn de los datos propios del Batch input
- 2: Lectura de los datos de archivo de entrada
. 3: Apertura de la sediòn del juego de datos
- 4: Carga de la tabla BDCDATA
- 5: Inserciòn del juego de datos
- 6: Cierre de la sesiòn del juego de Datos
- 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 estàndar para realizar la ejecuciòn ONLINE de un juego de datos)
4.- Carga de la tabla BDCDATA (Es el paso màs importante en la ejecuciòn de un Batch Input)
La tabla BDCDATA es una tabla interna que tiene los mismos campos de la estructura BDCDATA, los campos son:
PROGRAM.- char(40).- Contiene el nombre del programa ABAP que se ejecuta
DYNPRO.- num(4).- Contiene el Nùmero de la dynpro o pantalla de ejecuciòn
DYNBEGIN.- Char(1) Contendrà una "X" cuando se comience una nueva pantalla.
FNAM.- Char(132) Contiene el nombre del campo que se quiere cargar (sensible a mayùscula/minùscula)
FVAL.- Char(132).- Contiene el valor que se desea cargar en FNAM.
Ejemplo:
Para ingresar a la primera pantalla y presionar el botòn de mantenimiento
*Primera 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 en la tabla BDCDATA, una nueva pantalla, debe ingresarse 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_dbc_data TO ti_bdc_data.
"Los nùmeros de las dynpros siempre deben tener 4 dìgitos"
Despuès ingreso el registro del 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_dbc_data.
CLEAR st_bdc_data.
st_bdc_data-fanam = '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-fanam = '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-fanam = 'ZTABLA_USUARIOS-ESTADO_USU'.
st_bdc_data-FVAL = st_usuarios-estado_usu.
APPEND st_bdc_data TO ti_bdc_data.
"El còdigo anterior està diseñado para dar de alta un solo registro en la tabla de usuarios.
Si se quiere ingresar màs de un registro, vamos a tener que manejar un ìndice"
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta