Consulta los conectores compatibles con Application Integration.
Activador de SAP ERP
El activador de SAP ERP es un activador de eventos de conector. El conector de SAP ERP te permite realizar operaciones de inserción, eliminación, actualización y lectura en datos de SAP ERP.
Antes de comenzar
- Si planeas crear o configurar una conexión nueva para el activador de SAP ERP, asegúrate de tener el siguiente rol de IAM en el proyecto:
- Administrador de conectores (
roles/connectors.admin
)
Para obtener información sobre cómo otorgar roles, consulta Administra el acceso.
- Administrador de conectores (
- Otorga los siguientes roles de IAM a la cuenta de servicio que deseas usar para el activador de SAP ERP:
- Invocador de Application Integration (
roles/integrations.integrationInvoker
)
Para obtener información sobre cómo otorgar roles a una cuenta de servicio, consulta Administra el acceso a las cuentas de servicio.
- Invocador de Application Integration (
- En la consola de Google Cloud, ve a la página Application Integration.
- En el menú de navegación, haz clic en Integraciones.
Aparecerá la página Integrations List, en la que se enumeran todas las integraciones disponibles en el proyecto de Google Cloud.
- Selecciona una integración existente o haz clic en Crear integración para crear una nueva.
Si creas una integración nueva, haz lo siguiente:
- Ingresa un nombre y una descripción en el panel Create Integration.
- Selecciona una región para la integración.
- Selecciona una cuenta de servicio para la integración. Puedes cambiar o actualizar los detalles de la cuenta de servicio de una integración en cualquier momento desde el panel Integration summary de la barra de herramientas de integración.
- Haz clic en Crear.
Esto abrirá la integración en la página del editor de integración.
- En la barra de navegación del editor de integración, haz clic en Activadores para ver la lista de activadores disponibles.
- Haz clic y coloca el elemento SAP ERP trigger en el editor de integración.
- Haz clic en el elemento SAP ERP trigger en el editor de integración para abrir el panel de configuración del activador.
- Haz clic en Configurar activador.
- Proporciona los siguientes detalles de configuración en la página Editor de activadores de eventos de conector:
- Region: Selecciona la región de tu conexión de SAP ERP.
- Connection: Selecciona la conexión de SAP ERP que deseas usar.
Application Integration solo muestra las conexiones ERP de SAP que están activas y tienen habilitada una suscripción a eventos.
- Ingresa el nombre del campo del tipo de evento. Este campo identifica el tipo de evento
asociados con la solicitud de evento entrante.
{ "event_type": "user.created", ... // other request fields ... }
- Cuenta de servicio: Selecciona una cuenta de servicio con los roles de IAM necesarios para el activador de SAP ERP.
- Haz clic en Listo para completar la configuración del activador y cerrar la página.
- Haz clic en el elemento SAP ERP trigger en el editor de integración para abrir el panel de configuración del activador.
- Haz clic en Configurar activador.
- Omite el campo Región.
- Haz clic en Conexión y selecciona la opción Crear conexión en el menú desplegable.
- En la sección Detalles de la conexión, completa lo siguiente:
- Conector (Connector): Selecciona SAP ERP en la lista desplegable de conectores disponibles.
- Versión del conector: selecciona la versión del conector de la lista desplegable de versiones disponibles.
- En el campo Nombre de la conexión, ingresa un nombre para la instancia de conexión.
Los nombres de las conexiones deben cumplir con los siguientes criterios:
- Los nombres de las conexiones pueden usar letras, números o guiones.
- Las letras deben estar en minúsculas.
- Los nombres de las conexiones deben comenzar con una letra y terminar con una letra o un número.
- Los nombres de las conexiones no pueden superar los 63 caracteres.
- De manera opcional, ingresa una Descripción para la conexión.
- De manera opcional, habilita Cloud Logging.
- Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles necesarios.
- Si quieres usar la conexión para suscripciones a eventos, selecciona Habilitar suscripción a eventos. Selección
Esto muestra las siguientes opciones:
- Habilitar la suscripción a eventos con entidad y acciones: Selecciona esta opción para usar la conexión para la suscripción a eventos y las operaciones del conector (entidades y acciones)
- Habilitar solo suscripción a eventos: Selecciona esta opción para usar la conexión. solo para la suscripción a eventos. Si seleccionas esta opción, haz clic en Siguiente y, luego, configura la suscripción al evento.
- Cliente: el cliente que se autentica en el sistema SAP
- System Id: El ID del sistema o R3Name del sistema SAP es una string con un máximo de tres caracteres. A menudo, se usa en conexiones de balanceo de cargas.
- Número de sistema: Es el número por el que se define el sistema de destino. Se usa cuando se configura la propiedad de conexión del host.
- ID del proyecto: Es el ID del proyecto de Google Cloud en el que reside el bucket de GCS que contiene el archivo jar de SAP JCo.
- Bucket: Es el nombre del bucket que contiene los archivos sapjco3.jar y libsapjco3.so.
- ID del objeto del jar de Jaco: Es el ID del objeto del jar de JCo.
- ID del objeto de libsapjco3: Es el ID de objeto del archivo jar libsapjco3.
- Modo de tabla: Selecciona la tabla de SAP que se mostrará como vista.
- ID de objeto SNC_LIB: Es el ID de objeto de la biblioteca de SNC.
- Nombre del PSE: Es el nombre del archivo del entorno de seguridad personal (PSE) que corresponde. para el bucket. Un archivo PSE almacena el par de claves pública y privada, además de los certificados X.509 en una estructura ASN.1.
- Grupo: Es el nombre del grupo para el inicio de sesión. Por lo general, esto se especifica cuando el sistema SAP usa balanceadores de cargas.
- Servidor de mensajes: Es el nombre del servidor de mensajes que se usará cuando se establezca la conexión con el sistema SAP que usa balanceadores de cargas.
- Función de lectura de tabla: Nombre de la función que se usará para leer las tablas. Para ver más consulta Usa una función de tabla de lectura personalizada.
- Connection schema (Esquema de conexión): Selecciona un esquema de conexión que se usará para conectarse a tu sistema SAP.
- System ID: Es el ID del sistema o el R3Name del sistema SAP. Puedes ingresar un máximo de 3 caracteres.
- Contraseña de SNC: Selecciona el secreto de Secret Manager correspondiente a la contraseña de la biblioteca de SNC.
- Versión del secreto: Selecciona la versión del secreto.
- Modo SNC: Selecciona esta opción si quieres habilitar SNC para la autenticación entre Application Integration y tu sistema SAP.
- Nombre del SNC: Ingresa un nombre para la conexión del SNC.
-
SNC qop: Selecciona un nivel de protección. Los siguientes son los niveles admitidos:
- 1: Solo aplica autenticación.
- 2: Aplica la protección de la integridad. Esto también incluye la protección de autenticación.
- 3. Aplica la protección de la privacidad. Esto también incluye protección de la integridad y la autenticación.
- 8: Aplica la protección predeterminada.
- 9: Aplica la protección máxima.
- Nombre del socio de SNC: Ingresa el nombre de SNC del servidor de la aplicación.
- Modo de consulta: Selecciona las tablas de SAP que se deben mostrar como vistas.
-
Vistas navegables: Ingresa una lista de vistas separadas por comas que se mostrarán.
Por ejemplo,
ViewA,ViewB,ViewC
- Nivel de verbosidad: Ingresa el nivel de verbosidad para el registro. La plataforma son valores del 1 al 5. Un valor más alto significa que habrá más detalles disponibles. en los registros.
- De manera opcional, configura los parámetros de nodo de conexión:
- Cantidad mínima de nodos: Ingresa la cantidad mínima de nodos de conexión.
- Cantidad máxima de nodos: Ingresa la cantidad máxima de nodos de conexión.
Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se requieren más nodos para procesar más transacciones para una conexión y, del mismo modo, se requieren menos para procesar menos transacciones. Para comprender cómo los nodos afectan el precio del conector, consulta Precios de nodos de conexión. Si no ingresas ningún valor, se establecen de forma predeterminada los nodos mínimos en 2 (para una mejor disponibilidad) y los nodos máximos se establecen en 50.
- De forma opcional, haz clic en + AGREGAR ETIQUETA para agregar una etiqueta a la conexión en forma de un par clave-valor.
- Haz clic en Siguiente.
- En la sección Destinos, ingresa los detalles del host remoto (sistema de backend) al que deseas conectarte.
- Tipo de destino: Selecciona un Tipo de destino.
- Selecciona Dirección de host en la lista para especificar el nombre de host o la dirección IP del destino.
- Si quieres establecer una conexión privada con tus sistemas de backend, Selecciona Adjunto de extremo de la lista y, luego, selecciona el adjunto de extremo requerido. de la lista Adjunto de extremo.
Si deseas establecer una conexión pública con tus sistemas de backend con seguridad adicional, puedes considera configurar la configuración estática de direcciones IP internas para tus conexiones y, luego, para incluir en la lista de entidades permitidas solo las direcciones IP estáticas específicas.
Para ingresar destinos adicionales, haz clic en +Agregar destino.
- Haz clic en Siguiente.
- Tipo de destino: Selecciona un Tipo de destino.
-
En la sección Autenticación, ingresa los detalles de autenticación.
- Selecciona un Tipo de autenticación y, luego, ingresa los detalles relevantes.
La conexión SAP ERP admite los siguientes tipos de autenticación:
- Nombre de usuario y contraseña
- Haz clic en Siguiente.
Para comprender cómo configurar estos tipos de autenticación, consulta Configura la autenticación.
- Selecciona un Tipo de autenticación y, luego, ingresa los detalles relevantes.
- Si habilitaste la suscripción al evento, aparecerá la sección Event Subscription Details en la página de creación de conexión. Para comprender Cómo configurar los detalles de la suscripción a eventos, consulta Cómo configurar la suscripción a eventos.
- Revisa: Revisa tus detalles de conexión y autenticación.
- Haz clic en Crear.
-
Nombre de usuario y contraseña
- Username: Nombre de usuario para el conector
- Contraseña: El Secret de Secret Manager que contiene la contraseña asociada con el o del conector.
-
Selecciona uno de los siguientes tipos de autenticación para el objeto de escucha de eventos.
- Autenticación de Google. Si habilitas esta opción, sigue los pasos que se indican Autenticación mediante tokens web JSON para configurar la autenticación del SDK de ABAP. Además, asegúrate de que la cuenta de servicio roles/connectors.listener cuyo token de acceso se usa para la autenticación.
- Autenticación de la Clave de API. Si seleccionas esta opción, deberías haber creado una clave de API y, luego, guardada la clave como un Secret de Secret Manager. Para obtener más información, consulta Crea una clave de API.
-
Ingresa el nombre del campo del tipo de evento. Este campo identifica el tipo de evento asociado con el
solicitud de evento entrante.
{ "event_type": "user.created", ... // other request fields ... }
- Select Enable private connectivity for secured connectivity between your backend application and your connection. If you select this option, you must perform additional configuration steps after creating the connection. For more information, see Private connectivity for event subscription.
- Enter the dead-letter configuration. If you configure dead-letter, the connection writes
the unprocessed events to the specified Pub/Sub topic. Enter the following details:
- Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
- Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.
- Use the
RFC_READ_TABLE
function as a template for the new function. Select transaction codeSE37
and theSDTX
function group and copyRFC_READ_TABLE
to a new function group or your working function group. In this example,RFC_READ_TABLE
is copied toZ_CUSTOM_READ_TABLE
. - On the Attributes tab of the SAP screen, select
Remote Enabled Module
. - On the Tables tab, set the
DATA
parameter toCHAR8000
. Right-click on the screen and then click Display -> Change. - On the Source Code tab, paste the example source code for the replacement
RFC_READ_TABLE
function module located in thedb
subfolder of the installation directory. The code is located inZ_CUSTOM_READ_TABLE.txt
, thoughZ_CUSTOM_READ_TABLE_752.txt
is preferred if your SAP ERP instance is running ABAP version 7.52 or later. - Click Save.
- Define the imports, tables, and exceptions as documented in the provided custom read table.
- Activate the function module and in your connection string set
ReadTableFunction
toZ_CUSTOM_READ_TABLE
, or the name of your function module.
Agrega el activador de SAP ERP
Para agregar un activador de SAP ERP a tu integración, sigue estos pasos:
Para configurar el activador de SAP ERP, puedes usar una conexión de SAP ERP existente disponible en Integration Connectors o crear una nueva conexión de SAP ERP con la opción de creación de conexión intercalada.
Configura el activador de SAP ERP mediante una conexión existente
El activador de SAP ERP es un activador de eventos de conector, por lo que solo puedes usar una conexión de SAP ERP con la suscripción de eventos habilitada para configurar el activador.
Si quieres obtener información para configurar un activador de SAP ERP con una nueva conexión de SAP ERP, consulta Configura el activador de SAP ERP mediante una nueva conexión.
Para configurar un activador de SAP ERP mediante una conexión de SAP ERP existente, sigue estos pasos:
Configura el activador de SAP ERP mediante una conexión nueva
Configura la autenticación
Ingresa los detalles según la autenticación que desees usar.
Configurar para la suscripción al evento
Si habilitaste la suscripción al evento, ingresa los siguientes valores en el Sección Detalles de suscripción a eventos:
Use a custom read table function
RFC_READ_TABLE
The connector uses the SAP RFC_READ_TABLE
function to get data from SAP tables.
However, it has certain limitations. As an example, consider the DATA_BUFFER_EXCEEDED
exception. The SAP RFC_READ_TABLE
has a fixed size of 512 bytes. It can buffer for
each row of data, and thus you cannot select more columns than the amount that would
fit in this buffer. If you select more than 512 bytes, an exception occurs
indicating that you have exceeded the maximum buffer size allowed per row and need
to select fewer columns.
RFC_READ_TABLE2
The SAP ERP connector supports the RFC_READ_TABLE2
table read function. You can switch
the active table read function to RFC_READ_TABLE2
by setting ReadTableFunction
to /SAPDS/RFC_READ_TABLE2
.
Custom read table functions
The connector includes a custom read-table RFC, Z_CUSTOM_READ_TABLE
that is similar
to the SAP RFC_READ_TABLE
, but with a larger buffer to address the DATA_BUFFER_EXCEEDED
problem and bypass RFC_READ_TABLE
limitations.
To use the included custom read-table RFC to bypass limitations with the default RFC_READ_TABLE
, follow these steps:
The ABAP 7.52 Custom Read Table
Along with Z_CUSTOM_READ_TABLE.txt
, there is also a Z_CUSTOM_READ_TABLE_752.txt
file, for ABAP version 7.52 and above. It is similar to Z_CUSTOM_READ_TABLE
, but it takes advantage of the newly available keywords in ABAP 7.52 to perform paging within the database
instead of in the ABAP script itself. This makes paging efficient when working with large tables.
It is recommended to use the Z_CUSTOM_READ_TABLE_752
RFC.
Configure authentication in SAP
Configure the authentication in SAP by following the instructions in the Authentication overview for the on-premises or any cloud edition of ABAP SDK for Google Cloud guide.
Validate the trigger
To validate the trigger, you can create an ABAP program. The following is a sample ABAP program that you can use as a reference. The ls_event_payload
field changes based on your requirements:
*&---------------------------------------------------------------------* *& Report ZR_TEST_INT_CONNECTOR *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT zr_test_int_connector. PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X', p_apik TYPE char1 RADIOBUTTON GROUP rbg1. DATA: lv_p_projects_id TYPE string, lv_p_locations_id TYPE string, lv_p_connections_id TYPE string, ls_input TYPE /goog/cl_connectors_v1=>ty_103. TYPES: BEGIN OF event_payload, event_type TYPE string, event_id TYPE string, name TYPE string, org_id TYPE string, END OF event_payload. DATA: ls_event_payload TYPE event_payload. ls_event_payload = VALUE #( event_type = 'create-entity' event_id = '1' name = 'demo-org' org_id = 'SAP' ). TRY. IF p_Auth = abap_true. DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'. lv_p_connections_id = 'conn-event-triggers-from-sap-erp'. ELSE. lv_client_key = 'IC_DEMO_GOOGLE_APIK'. lv_p_connections_id = 'conn-event-triggers-from-sap-erp-apik'. ENDIF. * Open HTTP Connection DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ). * Populate relevant parameters lv_p_projects_id = lo_client->gv_project_id. lv_p_locations_id = 'us-central1'. GET REFERENCE OF ls_event_payload INTO ls_input-payload . * Call API method: connectors.projects.locations.connections.listenEvent CALL METHOD lo_client->listen_event_connections EXPORTING iv_p_projects_id = lv_p_projects_id iv_p_locations_id = lv_p_locations_id iv_p_connections_id = lv_p_connections_id is_input = ls_input IMPORTING * es_raw = es_output = DATA(ls_output) ev_ret_code = DATA(lv_ret_code) ev_err_text = DATA(lv_err_text) es_err_resp = DATA(ls_err_resp). IF lo_client->is_success( lv_ret_code ). MESSAGE 'Success' TYPE 'S'. ELSE. MESSAGE lv_err_text TYPE 'E'. ENDIF. * Close HTTP Connection lo_client->close( ). CATCH /goog/cx_sdk INTO DATA(lo_exception). MESSAGE lo_exception->get_text( ) TYPE 'E'. ENDTRY.