Tutorial de SAP ABAP BDC (comunicación de datos por lotes)

Introducción a la entrada por lotes

La entrada por lotes se utiliza normalmente para transferir datos de sistemas que no son R / 3 a sistemas R / 3 o para transferir datos entre sistemas R / 3.
Es una técnica de transferencia de datos que le permite transferir conjuntos de datos automáticamente a pantallas pertenecientes a transacciones y, por lo tanto, a un sistema SAP. La entrada por lotes se controla mediante una sesión de entrada por lotes.

En este tutorial aprenderá:

  • Introducción a la entrada por lotes
  • Métodos de entrada por lotes
  • Procedimientos de entrada por lotes
  • Programa de escritura BDC
  • Creación de una sesión de entrada por lotes
  • Registrador de entrada por lotes
Sesión de entrada por lotesAgrupa una serie de llamadas de transacciones junto con datos de entrada y acciones del usuario. Se puede utilizar una sesión de entrada por lotes para ejecutar una transacción de diálogo en la entrada por lotes, donde la sesión procesa algunas o todas las pantallas. Las sesiones de entrada por lotes se almacenan en la base de datos como tablas de la base de datos y se pueden usar dentro de un programa como tablas internas al acceder a las transacciones. Puntos a tener en cuenta
  • BDI funciona llevando a cabo transacciones normales de SAP tal como lo haría un usuario, pero ejecuta la transacción automáticamente. Todas las validaciones de la pantalla y la validación de la lógica empresarial se realizarán mientras se utiliza la entrada de datos por lotes.
  • Es adecuado para ingresar una gran cantidad de datos.
  • No se requiere interacción manual

Métodos de entrada por lotes

SAP proporciona dos métodos básicos para transferir datos heredados al Sistema R / 3.

  1. Método de entrada por lotes clásico.
  2. Método de transacción de llamada.

Método clásico de entrada por lotes
En este método, un programa ABAP / 4 lee los datos externos en el sistema SAP y los almacena en una sesión de entrada por lotes.
Después de crear la sesión, puede ejecutar la sesión para ejecutar la transacción de SAP en ella.
Este método utiliza los módulos de función BDC_ OPEN, BDC_INSERT y BDC_CLOSE
La sesión de entrada por lotes se puede procesar de 3 formas

  1. En primer plano
  2. En el fondo
  3. Durante el procesamiento, con visualización de errores

Debe procesar las sesiones de entrada por lotes en primer plano o utilizando la pantalla de error si desea probar la transferencia de datos.
Si desea ejecutar la transferencia de datos o probar su rendimiento, debe procesar las sesiones en segundo plano.
Puntos a tener en cuenta sobre el método de entrada por lotes clásico

  • Procesamiento sincrónico
  • Transfiere datos para múltiples transacciones.
  • Actualización de la base de datos sincrónica.
  • Se genera un registro de proceso de entrada por lotes para cada sesión.
  • La sesión no se puede generar en paralelo.

Método de transacción de llamada.

En este método, el programa ABAP / 4 usa la instrucción CALL TRANSACTION USING para ejecutar una transacción SAP.
Todo el proceso de entrada de lotes se realiza en línea en el programa

Puntos a tener en cuenta:

  • Procesamiento de datos más rápido
  • Procesamiento asincrónico
  • Transfiere datos para una sola transacción.
  • No se genera ningún registro de procesamiento de entrada por lotes.

Procedimientos de entrada por lotes


Por lo general, observará la siguiente secuencia de pasos para desarrollar Batch Input para su organización

  1. Análisis de los datos heredados. Determine cómo se mapearán los datos que se van a transferir a la estructura de SAP. También tome nota de las conversiones necesarias de tipo o longitud de datos.
  2. Genere estructuras de datos SAP para usar en programas de exportación.
  3. Exporta los datos a un archivo secuencial. Tenga en cuenta que los programas predefinidos de entrada por lotes de SAP requieren el formato de caracteres.
  4. Si no se utilizan los programas BDC suministrados por SAP, codifique su propio programa de entrada por lotes. Elija un método de entrada por lotes adecuado según la situación.
  5. Procese los datos y agréguelos al Sistema SAP.
  6. Analice el registro del proceso. Para el método CALL TRANSACTION, donde no se crea un registro adecuado, use los mensajes recopilados por su programa.
  7. A partir de los resultados del análisis del proceso, corrija y vuelva a procesar los datos erróneos.

Programa de escritura BDC

Puede observar el siguiente proceso para escribir su programa BDC

  1. Analice las transacciones para procesar los datos de entrada por lotes.
  2. Decida el método de entrada por lotes que utilizará.
  3. Leer datos de un archivo secuencial
  4. Realice la conversión de datos o la verificación de errores.
  5. Almacenar los datos en la estructura de entrada por lotes, BDCDATA.
  6. Genere una sesión de entrada por lotes para la entrada por lotes clásica o procese los datos directamente con la instrucción CALL TRANSACTION USING.

Estructura
de datos de entrada de lote Declaración de la estructura de datos de entrada de lote

DATOS: COMIENZO DE OCCURS .INCLUYE ESTRUCTURA BDCDATA.DATOS: FIN DE .
Nombre del campo Escribe Largo Descripción
PROGRAMA CARBONIZARSE 8 Grupo de módulos
DYNPRO NUMC 4 Número Dynpro
DYNBEGIN CARBONIZARSE 1 Comenzando un dynpro
FNAM CARBONIZARSE 35 Nombre del campo
FVAL CARBONIZARSE 80 Valor de campo

El orden de los campos dentro de los datos para una pantalla en particular no tiene importancia.
Puntos a tener en cuenta

  • Al completar los datos BDC, asegúrese de tener en cuenta la configuración del usuario. Esto es especialmente relevante para completar campos que involucran números (como cantidad, monto). Es la configuración del usuario la que decide cuál es el carácter de agrupación para los números. Por ejemplo: un número cincuenta mil se puede escribir como 50,000.00 o 50.000,00 según la configuración del usuario.
  • Condensar el campo FVAL para los campos de cantidad y cantidad para que queden alineados a la izquierda.
  • Tenga en cuenta que todos los campos que está completando a través de BDC deben tratarse como campos de tipo de carácter al completar la tabla de datos BDC.
  • En algunas pantallas, cuando está completando valores en un control de tabla usando BDC, debe anotar cuántas filas están presentes en un tamaño predeterminado de la pantalla y codificar para tantas filas. Si tiene que completar más filas, entonces debe codificar la funcionalidad "Avanzar página" como lo haría cuando completa el control de la tabla manualmente.
  • La cantidad de líneas que aparecerían en el escenario anterior diferirá según el tamaño de pantalla que utilice el usuario. Por lo tanto, siempre codifique para el tamaño de pantalla estándar y haga que su BDC funcione siempre en el tamaño de pantalla estándar, independientemente de cómo el usuario mantenga su tamaño de pantalla.

Creación de una sesión de entrada por lotes

  1. Abra la sesión de la sesión de entrada por lotes utilizando el módulo de funciones BDC_OPEN_GROUP.
  2. Para cada transacción en la sesión:
    • Llene el BDCDATA con valores para todas las pantallas y campos procesados ​​en la transacción.
    • Transfiera la transacción a la sesión con BDC_INSERT.
  3. Cierre la sesión de entrada por lotes con BDC_CLOSE_GROUP

Registrador de entrada por lotes

El registrador de entrada por lotes (Sistema> Servicios> Entrada por lotes> Registrador) registra las transacciones que se ingresan manualmente y crea una sesión de entrada por lotes que se puede ejecutar más tarde usando SM35.

  • Inicie el registrador de entrada de lote seleccionando el botón de grabación en la pantalla inicial de entrada de lote.
  • El nombre de la grabación es un nombre definido por el usuario y puede coincidir con el nombre de la sesión de entrada por lotes que se puede crear a partir de la grabación.
  • Ingrese una transacción de SAP y comience a registrar la transacción.
  • Una vez que haya completado la contabilización de una transacción de SAP, elija Obtener transacción y guardar para finalizar la grabación o Siguiente transacción y contabilizar otra transacción.
  • Una vez que haya guardado la grabación, puede crear una sesión de entrada por lotes a partir de la grabación y / o generar un programa de entrada por lotes a partir de la grabación.
  • La sesión de entrada por lotes que creó ahora se puede analizar como cualquier otra sesión de entrada por lotes.
  • El programa generado por la función del registrador de entrada por lotes es una herramienta poderosa para el programador de interfaz de datos. Proporciona una base sólida que luego se puede modificar de acuerdo con los requisitos del cliente.

Articulos interesantes...