Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Esta documentación es para la versión 4 y posteriores de App Builder, el nuevo nombre de Vinyl. Accede a la documentación de Vinyl aquí.

Guía de ejecución de SAP BAPI para Jitterbit App Builder

Descripción general

Esta guía describe el proceso de ejecución de los módulos de función SAP BAPI desde App Builder. ¿Qué es BAPI?

La tecnología BAPI (Business Application Programming Interface) es la principal tecnología API disponible para que los clientes lean y actualicen datos, que pueden ser llamados desde dentro de SAP o externamente usando el protocolo RFC y la tecnología ALE/IDoc (https://wiki.scn.sap.com/wiki/display/ABAP/BAPI?original_fqdn=wiki.sdn.sap.com&BAPI-Introduction).

Las BAPI se definen en el Business Object Repository (BOR) de SAP como métodos de tipos de objetos de negocio de SAP que llevan a cabo funciones de negocio específicas. Se implementan como módulos de función habilitada para RFC (llamada de función remota) y se crean en el Generador de funciones del Workbench ABAP.

Requisitos de App Builder

Para conectar con SAP y ejecutar BAPIs, debe instalar en su instancia el paquete de software App Builder, que incluye los componentes SAP adicionales. El nombre del archivo zip de App Builder incluirá ThirdPartySAP al final de la versión (por ejemplo, App Builder-3.3.21255ThirdPartySAP.zip). Este paquete contiene las DLL de SAP (bibliotecas de vínculos dinámicos) en la carpeta App Builder/Bin, necesarias para conectarse a SAP desde App Builder.

Fuente de datos de SAP en App Builder

Se asume que hay una fuente de datos de SAP en tu instancia de App Builder vinculada a la fuente de datos desde la que deseas llamar a la BAPI. Si no has configurado una fuente de datos de SAP, consulta esta documentación y crea una.

Interfaz gráfica de usuario, texto, descripción de la aplicación generada automáticamente

BAPI en App Builder

App Builder utiliza la compilación de tablas de staging locales para transferir datos a SAP mediante la ejecución de BAPI. Cada componente de la función BAPI se representa mediante una tabla de staging y columnas que contienen los valores de los datos correspondientes que el módulo espera. Además de las columnas de parámetros BAPI, App Builder define columnas específicas que enlace todas las tablas de staging durante la ejecución.

Estas columnas específicas de App Builder tienen el prefijo '_' y no se envían a SAP, ya que su propósito es únicamente preparar la ejecución desde App Builder. Cuando los datos están preparados y listos para la ejecución de BAPI, se llama a una acción específica (que se explicará más adelante) que ejecuta la BAPI con el _id Columna que determina qué conjunto de registros se pasará.

Nota

Los registros de la base de datos del servidor de aplicaciones publicarán cada una de las conexiones y ejecuciones de SAP, junto con los datos de parámetros específicos de BAPI.

Creación de tablas BAPI de almacenamiento local

Las tablas de preparación se pueden crear manualmente o importando la estructura BAPI a través de la funcionalidad Importar patrón en la fuente de datos de SAP

Si decide crear las tablas de staging manualmente, debe comprender bien la estructura y los parámetros de la BAPI que desea ejecutar. La estructura es crucial para que App Builder pueda ejecutar la BAPI.

Las BAPI pueden tener parámetros de importación (datos que se transfieren de App Builder a SAP) y parámetros de exportación (datos que se transfieren de SAP a App Builder). Las BAPI pueden tener una estructura principal/secundaria, donde el componente principal contiene el nivel más alto de datos y los componentes secundarios contienen un nivel más bajo. La mayoría de las BAPI también tienen una /RETURN componente secundario que exporta cualquier mensaje (exitoso o errores) que proporcionará confirmación o ayudará al usuario a identificar y solucionar problemas.

Se crea una tabla de preparación para los componentes principal y secundario en su fuente de datos local, donde el nombre de la tabla secundaria tiene como prefijo el nombre de la tabla principal (es decir, la tabla de preparación principal denominada BAPI_PO_CREATE1, tabla de preparación infantil denominada BAPI_PO_CREATE1/POHEADER).

Para crear columnas en la tabla de pruebas:

  1. Crear _id Columna y configúrela como tipo de dato UUID. Márquela como PK y genere automáticamente.

  2. Si la tabla de pruebas es un componente secundario, cree _ParentId Columna y configúrela como UUID. Defina la relación de varios a uno con la tabla principal donde la columna principal _Id enlaces a la columna secundaria _ParentId.

  3. A continuación, si el orden de ejecución de los registros es crítico, agregue la columna _index Donde se puede almacenar y referenciar un valor de indexación durante la ejecución.

  4. A continuación, agregue cualquier columna FK local o información de auditoría útil, con el prefijo _, que ayudará a referenciar los registros en su modelo de datos a los registros de la tabla BAPI. (es decir, _POHeaderID nos permitirá consultar datos almacenados en BAPI en función de un registro de PO local, _ExecutedOn para rastrear el historial)

  5. Después de agregar las columnas específicas de App Builder, cree todas las columnas relacionadas con BAPI que reflejen los parámetros de importación y exportación en la función (es decir, ORDEN DE COMPRA, PO_ITEM, FECHA DE ENTREGA, CANTIDAD, etc.)

Ejecución de BAPI

Para invocar la compilación de datos de la tabla de pruebas y la ejecución de la BAPI mediante RFC, se utilizará una acción en un evento de un objeto/tabla de negocio.

Existe una acción de tipo RFC y cuatro opciones:

  1. BAPI_OBJCL_CHANGE2. BAPI_OBJCL_CREATE3. BAPI_OBJCL_DELETE4. BAPI_TRANSACTION_COMMIT

En App Builder versión 2.6 y anteriores, la acción utilizada es de tipo Plugin y se llama Execute BAPI y se agrega al evento Insert de una tabla de activadores recién creada.

La tabla de activación puede tener cualquier nombre (es decir BAPITrigger), pero el complemento requiere que se definan columnas específicas para hacer referencia durante la ejecución. Estas columnas son:

adjunto

  • BAPITriggerID es un nuevoUUID().

  • SourceDataSourceID es el DataSourceID de la fuente de datos local donde residen las tablas de almacenamiento temporal.

  • TargetDatasSourceID es el DatasourceID de la fuente de datos de SAP donde se ejecutará la BAPI.

  • FunctionModule son los nombres de los módulos de función BAPI que desea activar, separados por comas. (BAPI_TRANSACTION_COMMIT aparece como el último módulo, ya que confirma las acciones BAPI anteriores).

  • _Id es la FK de la tabla de preparación BAPI y determina qué conjunto de registros se pasará a la ejecución

Ejemplos de módulos de función BAPI

A continuación, se muestran algunas de las numerosas BAPI que se pueden ejecutar desde App Builder. El componente principal de la BAPI se enumera por número y cada uno de los componentes secundarios se enumera debajo.

  1. BAPI_PO_CREATE1: Se utiliza para crear una nueva orden de compra

    • /POHEADER, /POHEADERX, /POITEM, /POITEMX, /POSCHEDULE, /POSCHEDULEX, /POCOND, /POCONDX, /POEXPIMPITEM, /POEXPIMPITEMX, /POTEXTHEADER, /EXTENSIONIN2. BAPI_PO_CHANGE: Se utiliza para actualizar los valores de una orden de compra existente.

    • /POHEADER, /POHEADERX, /POITEM, /POITEMX, /POSCHEDULE, /POSCHEDULEX, /POCOND, /POCONDX, /POEXPIMPITEM, /POEXPIMPITEMX, /POTEXTHEADER, /EXTENSIONIN, /POPARTNER3. BAPI_PO_RELEASE: Se utiliza para liberar una orden de compra después de manipularla.

  2. BAPI_PO_GETDETAIL: Se utiliza para recuperar las notas de encabezado y los valores de texto de la orden de compra.

    • _PO_GETDETAIL/RETURN, PO_HEADER_TEXTS5. BAPI_SALESORDER_CREATEFROMDAT2: Se utiliza para crear órdenes de venta

    • /ORDER_HEADER_IN, /ORDER_PARTNERS, /ORDER_ITEMS_IN, /ORDER_SCHEDULES_IN, /RETURN6. BAPI_CONTRACT_CREATEFROMDATA: Se utiliza para crear contratos

    • /CONTRACT_HEADER_IN, /CONTRACT_PARTNERS, /CONTRACT_PARTNERS, /CONTRACT_ITEMS_IN7. BAPI_EXCHANGERATE_GETDETAIL: Se utiliza para obtener los tipos de cambio de divisas.

  3. Z_ADAPT_DATA_EXTRACT:Una función personalizada utilizada para extraer información del plan de inversión.