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 los 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 Connector:
- Region: Selecciona la región de tu conexión de SAP ERP.
- Conexión: 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 de tipo de evento. Este campo identifica el tipo de evento asociado 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: 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 49 caracteres.
- En el caso de los conectores que admiten la suscripción a eventos, los nombres de las conexiones no pueden comenzar con “goog” .
- De manera opcional, ingresa una Descripción para la conexión.
- De manera opcional, habilita Cloud Logging y, luego, selecciona un nivel de registro. De forma predeterminada, el nivel de registro se establece en
Error
. - Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles necesarios.
- Para usar la conexión para suscripciones a eventos, selecciona Habilitar la suscripción a eventos. Si lo haces, se mostrarán las siguientes opciones:
- Habilitar la suscripción a eventos con entidad y acciones: Selecciona esta opción para usar la conexión en las operaciones de suscripción a eventos y de conector (entidades y acciones).
- Habilitar solo la 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 a eventos.
- Cliente: el cliente que se autentica en el sistema SAP
- ID del sistema: El ID del sistema o R3Name del sistema SAP es una cadena 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 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, así como los certificados X.509 en una estructura ASN.1.
- Grupo: Es el nombre del grupo para el acceso. Por lo general, esto se especifica cuando tu 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 tablas. Para obtener más información, consulta Cómo usar una función de tabla de lectura personalizada.
- Esquema de conexión: Selecciona un esquema de conexión que se usará para conectarte a tu sistema SAP.
- ID del sistema: El ID del sistema o el R3Name del sistema SAP. Puedes ingresar un máximo de 3 caracteres.
- Contraseña de SNC: Selecciona el Secret de Secret Manager de 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 de SNC: Ingresa un nombre para la conexión de SNC.
-
SNC qop: Selecciona un nivel de protección. Los siguientes son los niveles admitidos:
- 1: Aplica solo la autenticación.
- 2: Aplica la protección de integridad. Esto también incluye la protección de autenticación.
- 3. Aplica la protección de la privacidad. Esto también incluye la protección de integridad y 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 aplicaciones.
- Modo de consulta: Selecciona qué tablas de SAP 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. Los valores admitidos son de 1 a 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 deseas establecer una conexión privada a tus sistemas de backend, selecciona Adjunto de extremo en la lista y, luego, selecciona el archivo adjunto de extremo requerido en 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 de 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 a eventos, aparecerá la sección Detalles de la suscripción a eventos en la página de creación de la 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 cualquiera 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 en 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, debes haber creado una clave de API y, luego, haberla guardado 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 la solicitud de evento entrante.
{ "event_type": "user.created", ... // other request fields ... }
- Selecciona Habilitar conectividad privada para obtener una conectividad segura entre tu aplicación de backend y tu conexión. Si seleccionas esta opción, debes realizar pasos de configuración adicionales después de crear la conexión. Para obtener más información, consulta Conectividad privada para la suscripción a eventos.
- Ingresa la configuración de mensajes no entregados. Si configuras el buzón de mensajes no entregados, la conexión escribirá los eventos sin procesar en el tema de Pub/Sub especificado. Ingresa los siguientes detalles:
- ID del proyecto de mensajes no entregados: Es el ID del proyecto de Google Cloud en el que configuraste el tema de mensajes no entregados de Pub/Sub.
- Tema de mensajes no entregados: es el tema de Pub/Sub en el que deseas escribir los detalles del evento sin procesar.
- Usa la función
RFC_READ_TABLE
como plantilla para la función nueva. Selecciona el código de transacciónSE37
y el grupo de funcionesSDTX
, y copiaRFC_READ_TABLE
en un nuevo grupo de funciones o en tu grupo de funciones de trabajo. En este ejemplo,RFC_READ_TABLE
se copia enZ_CUSTOM_READ_TABLE
. - En la pestaña Atributos de la pantalla de SAP, selecciona
Remote Enabled Module
. - En la pestaña Tablas, establece el parámetro
DATA
enCHAR8000
. Haz clic con el botón derecho en la pantalla y, luego, en Pantalla -> Cambiar. - En la pestaña Source Code, pega el código fuente de ejemplo del módulo de función
RFC_READ_TABLE
de reemplazo que se encuentra en la subcarpetadb
del directorio de instalación. El código se encuentra enZ_CUSTOM_READ_TABLE.txt
, aunque se prefiereZ_CUSTOM_READ_TABLE_752.txt
si tu instancia de SAP ERP ejecuta ABAP versión 7.52 o posterior. - Haz clic en Guardar.
- Define las importaciones, tablas y excepciones como se documenta en la tabla de lectura personalizada proporcionada.
- Activa el módulo de funciones y, en la cadena de conexión, establece
ReadTableFunction
enZ_CUSTOM_READ_TABLE
o en el nombre de tu módulo de funciones. - Obtén información sobre todas las tareas y los activadores.
- Obtén información para probar y publicar una integración.
- Obtén más información sobre el manejo de errores.
- Obtén más información sobre los registros de ejecución de la integración.
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 con 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 con una conexión existente de SAP ERP, 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.
Configura la suscripción a eventos
Si habilitaste la suscripción al evento, ingresa los siguientes valores en el Sección Detalles de suscripción a eventos:
Usa una función de tabla de lectura personalizada
RFC_READ_TABLE
El conector usa la función RFC_READ_TABLE
de SAP para obtener datos de las tablas de SAP.
Sin embargo, tiene ciertas limitaciones. A modo de ejemplo, considera el DATA_BUFFER_EXCEEDED
excepción. El RFC_READ_TABLE
de SAP tiene un tamaño fijo de 512 bytes. Puede almacenar
para cada fila de datos y, por lo tanto, no se pueden seleccionar más columnas de la cantidad que
que caben en este «colchón». Si seleccionas más de 512 bytes, se produce una excepción que indica que superaste el tamaño máximo de búfer permitido por fila y que debes seleccionar menos columnas.
RFC_READ_TABLE2
El conector de SAP ERP admite la función de lectura de tablas RFC_READ_TABLE2
. Puedes cambiar
la función de lectura de la tabla activa en RFC_READ_TABLE2
estableciendo ReadTableFunction
a /SAPDS/RFC_READ_TABLE2
.
Funciones de tablas de lectura personalizadas
El conector incluye un RFC de tabla de lectura personalizado, Z_CUSTOM_READ_TABLE
, que es similar.
al RFC_READ_TABLE
de SAP, pero con un búfer más grande para resolver el problema de DATA_BUFFER_EXCEEDED
y evitar las limitaciones de RFC_READ_TABLE
.
Para usar la RFC de tabla de lectura personalizada incluida y evitar las limitaciones con el RFC_READ_TABLE
predeterminado, sigue estos pasos:
La tabla de lectura personalizada de ABAP 7.52
Junto con Z_CUSTOM_READ_TABLE.txt
, también hay un archivo Z_CUSTOM_READ_TABLE_752.txt
para la versión 7.52 de ABAP y versiones posteriores. Es similar a Z_CUSTOM_READ_TABLE
, pero aprovecha las palabras clave disponibles recientemente en ABAP 7.52 para realizar paginación dentro de la base de datos en lugar de hacerlo en la propia secuencia de comandos de ABAP. Esto hace que la paginación sea eficiente cuando se trabaja con tablas grandes.
Se recomienda usar la RFC Z_CUSTOM_READ_TABLE_752
.
Configura la autenticación en SAP
Configura la autenticación en SAP siguiendo las instrucciones de la guía Descripción general de la autenticación para las ediciones locales o cualquier edición en la nube del SDK de ABAP para Google Cloud.
Valida el activador
Para validar el activador, puedes crear un programa ABAP. El siguiente es un ejemplo de programa ABAP que puedes usar como referencia. El campo ls_event_payload
cambia según tus requisitos:
*&---------------------------------------------------------------------* *& 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.
Cuotas y límites
Para obtener más información sobre las cuotas y los límites, consulta Cuotas y límites.