🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP El concepto de Batch Input

ABAP El concepto de Batch Input

ABAP El concepto de Batch Input

UNIDAD 7. BATCH INPUT vs BAPIS Y TEMAS AVANZADOS

EL CONCEPTO DE BATCH INPUT

1. QUE ES UN BATCH INPUT

Podremos dar de alta, modificar o borrar grandes cantidades de datos en el sistema, de forma automática y utilizando las mismas transacciones, con sus respectivas validaciones. Es decir, q es una técnica automática mediante la cual podremos 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. TECNICAS DE BATCH INPUT

Existen 2 técnicas para realizar un Batch Input q son la forma ONLINE y la forma BATCH.

- CALL TRANSACTION: se realiza de forma ONLINE, por lo q ejecuta las actualizaciones en el momento en q 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.

Como alternativa a las técnicas de carga inicial de datos mediante Batch Input, existe la técnica llamada Direct Input o entrada directa, a través de Direct Input los módulos de funciones de SAP ejecutan las pruebas de consistencia. En el Batch Input estos controles de consistencia se ejecuta con ayuda de las pantallas, esto significa q el Direct Input tiene ventajas importante en cuanto a performance en comparación al Batch Input, pero hay pocos programas para realizar Direct Input y tiene sentido utilizarlos solo si cumple plenamente con el objetivo del requerimiento.

Los programa de Direct Input actualiza las tablas de BD de SAP en forma directa, como sabemos esto esta prohibido ya que los datos estándar de SAP no se puede actualizar en forma directa debido a q de esta forma se pierde la consistencia y la seguridad de los datos. Los programas de Direct Input son la excepción a la regla, por lo tanto no es posible escribir programas ABAP Z de Direct Input sino q debemos solamente utilizar los ya existente, pero por supuesto q si se puede escribir programas ABAP para actualizar las tablas BD Z siempre teniendo en cuenta la consistencia y la seguridad de los datos.

SAP ha creado programas Direct Input en un esfuerzo de querer mejorar los procedimiento de Batch Input cuyo velocidad de procesamiento es muy inferior al Direct Input, la técnica de Direct Input es ideal para la transferencia de grandes cantidades de datos.

Para mantener e iniciar estos programas se utiliza la transacción estándar BMV0.

Ejemplos de programas de Direct Input son:

- Para el módulo financiero o FI el programa RFBIBL00.

- Para el módulo de gestión de materiales MM el programa estándar RMDATIND.

- Para el módulo de ventas y distribuciones SD el programa estándar RVAFSS00.

- Para el módulo de administración de activos AM el programa estándar RAALTD11.

- Para el módulo de control SO el programa estándar RKEVEXTO.

3. PASOS PARA LA CREACION DE UN BATCH INPUT

Dependen de la técnica utilizada.

CALL TRANSACTION

- Paso 1ero: Declaración de datos propios del Batch Input.

- Paso 2do: Lectura de datos de archivo de entrada.

- Paso 3ro: Carga de la tabla BDCDATA.

- Paso 4to: Ejecución de la sentencia CALL TRANSACTION.

Estructura BDCDATA:

Esta estructura estándar del sistema es muy utilizada en los Batch Inputs ya q se define el tipo de datos de la tabla interna q almacena los datos q se cargarán en el Batch Input.

JUEGOS DE DATOS

- Paso 1ero: Declaración de los datos propios del Batch Input.

- Paso 2do: Lectura de datos de archivo de entrada.

- Paso 3ro: Apertura de la sesión del Juego de Datos.

- Paso 4to: Carga de la tabla BDCDATA.

- Paso 5to: Inserción del Juego de Datos.

- Paso 6to: Cierre de la sesión del Juego de Datos.

- Paso 7mo: 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.

Nos permite realizar la ejecución online de un juego de datos.

4. CARGA DE LA TABLA BDCDATA

El paso más importante en la ejecución de un Batch Input es la carga de la tabla BDCDATA.

La tabla BDCDATA será una tabla interna q tendrá los mismos campos q la estructura BDCDATA. Los campos q forman parte de la estructura son:

NOMBRE CAMPO TIPO LONG DESCRIPCION

PROGRAM CHAR 40 Contendrá el nombre del programa ABAP q se ejecuta

DYNPRO NUMC 4 Contendrá el nro. la dynpro o pantalla en ejecución

DYNBEGIN CHAR 1 Contendrá una "X" cuando se comience una nueva pantalla.

FNAM CHAR 132 Contendrá el nombre del campo q se desea cargar.

Este campo es sensible a mayúsculas y minúsculas.

FVAL CHAR 132 Contendrá el valor q se desea cargar en FNAM.

Ej de como cargaríamos la tabla BDCDATA.

Supongamos q queremos hacer un Batch Input para cargar con un registro a nuestra tabla ZTABLA_USUARIOS.

Si ejecutamos esta acción en forma manual, deberíamos hacer lo siguiente:

- Ingresar a la transacción SM30, introducir el nombre de la tabla, presionar el botón de modificación o maintain, presionar el botón de nuevas entradas o new entries, introducir el contenido del registro con todos sus campos, presionar el botón grabar y salir de la transacción.

Si representamos en código el procedimiento anteriormente descrito, escribiríamos:

Para ingresar a la primera pantalla y presionar el botón de mantenimiento

* 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.

IMPORTANTE: Por cada vez q se ingrese en la tabla BDCDATA, una nueva pantalla, debe ingresarse un BDC_OKCODE.

Luego, presionamos el botón de Nuevas entradas.

* Presiono boton 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.

IMPORTANTE: Los números de las dynpros siempre deben tener 4 dígitos.

Después ingreso el registro del usuario. En la imagen q vemos a continuación no figuran todos los campos de la tabla de usuarios.

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.

IMPORTANTE: El código anterior está diseñado para dar de alta un solo registro en la tabla usuarios.

Si quisiéramos ingresar más de un registro, vamos a tener q manejar un índice.

Esto lo veremos en detalle en las próximas lecciones.

Por último, 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 = '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 Mayra Maria Pino Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Mayra Maria Pino Rodriguez

Profesión: Licenciada Cibernética Matemática - Republica Dominicana - Legajo: RA62Z

✒️Autor de: 56 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Mayra Pino

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El concepto de Batch Input" de la mano de nuestros alumnos.

SAP Senior

BATCH INPUT: Técnica automatica mediante la cual podremos realizar la caga masiva de datos en el sistema utilizando las validaciones de las transacciones. SAP a creado programas de direct imput para mejorar los procedimientos de batch input, su procesamiento es inferior al batch input. txBMV0 deal para la transferencia de grandes cantidades de datos.

Acceder a esta publicación

Creado y Compartido por: Matias Ciutat

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Batch input: tecnica mediante la cual podremos realizar la carga masiva de datos en el sistema utilizando las validaciones de las transacciones. tecnicas de batch input: CALL TRANSACTION que es froma online por lo que ejecuta las actualizaciones en el momento que se ejecuta el progrma batch inputy utiliza la trasanccion estandar CALL TRANSACTION JUEGO DE DATOS: Se realiza de forma batch (de fondo) y qyeda almacenado en SAP para su posterior ejecucion mediante la transaccion SM37. Pasos para crear el batch input: 1. Declaracion de dato propios del batch input. 2. Lectura de datos de archivo de entrada 3. Carga de la tabla BCDATA. 4. Ejecucion de la sentencia CALL TRANSACTION. BCDATA: es una estructura estandar del sistema es muy utilizada en...

Acceder a esta publicación

Creado y Compartido por: Rainer Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

BATCH INPUT tecnica automatica mediante la cual podremos realizar la carga masiva de datos en el sistema utilizando las validaciones de las transacciones TECNICAS DE BATCH INPUT ONLINE : CALL TRANSACTION BATCH: JUEGO DE DATOS TRANSACCION SM37 TECNICA DIRECT INPUT VENTAJAS EN PERFOMANSE CON EL BATCH INPUT PASOS PARA CREAR BATCH INPUT CALLTRANSACTION 1 declaracion de datos propios del batch input 2 lectura de los datos de archivo de entrada 3 carga de la tabla BDCDATA 4 ejecucion de la sentencia CALL TRANSACTION JUEGO DE DATOS 1 declaracion de datos propios del batch input 2 lectura de datos archivo entrada 3 apertura de la sesion del juego de datos 4 carga de la tabla BDCDATA 5 INSERCION DEL JUEGO DE DATOS 6 cierre de sesion del juego de datos...

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Existen dos técnicas para realizar un batch input: - Call transaction: se realiza de forma Online. - Juego de datos: se realiza de fondo. Se ejecuta mendiante la transacción SM35. Como alternativa al batch input existe el direct input, el cual hace que los modulos de funciones de sap ejecutan los controles de consistencia. En el batch input se ejecutan con ayuda de las pantallas. Los programas de direct input actualizan las tablas de sap de forma directa. Existen programas standar direct input que actualizan tablas estandar. También es posible crear direct input para modificar tablas Z. La transacción BMV0 es para mantener e iniciar los direct input. Algunos ejemplos de direct input: FI: RFBIBL00 MM: RMDATIND...

Acceder a esta publicación

Creado y Compartido por: George Yunkichi Okuma Zavala

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

*****************El concepto de Batch Input [ 1º de 8 ] El concepto de Batch Input Definicion de Batch Input. Carga inicial de datos: Dar de alta toda la info necesaria para que pueda funcionar una aplicación. Esto se hace al instalar la aplicación. Batch Input: Técnica automática mediante la cual podremos dar de alta, modificar o borrar grandes cantidades de datos en el sistema utilizando las validaciones de las transacciones. Generalmente la carga inicial de datos se realiza mediante un archivo. - Técnicas de Batch Input Técnicas para realizar un batch input: CALL TRANSACTION: Se realiza de forma Online, ejecuta las actualizaciones en el momento en que se ejecuta el programa Batch Input. Se...

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Mediante la tecnica batch input podemos dar de lata, modificar, borrar grandes cantidades de datos en el sistema de forma automatica Existen dos tecnicas de batch input: *CALL TRANSACTION *JUEGO DE DATOS

Acceder a esta publicación

Creado y Compartido por: Melissa Rodriguez Dominguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Concepto de Batch Input. Técnica automática mediante la cual podremos realizar la carga masiva de datos en el sistema utilizando las validaciones de las transacciones. Carga inicial de datos:Proceso que consiste en el ingreso de los datos necesarios para el funcionamiento de una aplicación en un ambiente del sistema. Open SQL: Lenguaje estructurado de consulta. Es un lenguaje declarativo de acceso a bases de datos relacionales que permiten diversos tipos de operaciones sobre las mismas. Generalmente, la carga inicial de datos se realizará levantando los datos de un archivo. Archivos externos ---> Programa Batch input ---> SAP. Técnicas de batch input: Existen 2 técnicas para realizar...

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

- El concepto de Batch Input - ¿Qué es un Batch Input? Carga inicial de datos: Dar de alta toda la info necesaria para que pueda funcionar una aplicación. Esto se hace al instalar la aplicación. Batch Input: Técnica automática mediante la cual podremos dar de alta, modificar o borrar grandes cantidades de datos en el sistema utilizando las validaciones de las transacciones. Generalmente la carga inicial de datos se realiza mediante un archivo. - Técnicas de Batch Input Técnicas para realizar un batch input: CALL TRANSACTION: Se realiza de forma Online, ejecuta las actualizaciones en el momento en que se ejecuta el programa Batch Input. Se utiliza la sentencia estándar CALL...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Batch Input : permite dar de alta, modificar o borrar grandes cantidades de datos en el sistema, de forma automatica y utilizando las mismas transancciones con sus respectivas validaciones, tal como si lo hicieramos manualmente de a 1 dato por vez. se puede cargar masivamente datos utilizando las validaciones de las transacciones. Existe dos formas de utilizar Batch input, una es por call Transaction que se realiza Online, y otra de forma es por Juego de Datos batch o de fondo que se ejecuta por la tx: SM35

Acceder a esta publicación

Creado y Compartido por: Cristian Merlo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

BATCH INPUT Tecnica automatica mediante la cual podremos realizar la carga masiva de datos en el sistema utilizando las validaciones de las transacciones. TECNICAS 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 estandar CALL TRANSACTION. JUEGOS DE DATOS: se realiza de forma batch(o de fondo) y queda almacenado en SAP para su posterior ejecucion mediante la transaccion SM37. Consiste en la ejecucion de una serie de funciones estandar para la apertura,ejecucion y cierre de juegos de datos. PASOS PARA LA CREACION DE UN BATCH INPUT call transaction declaracion de datos propios del batch input lectura...

Acceder a esta publicación

Creado y Compartido por: Luis Car

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!