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 empezar

  • Si tienes previsto crear o configurar una conexión para el activador SAP ERP, asegúrate de que tienes el siguiente rol de gestión de identidades y accesos en el proyecto:
    • Administrador del conector (roles/connectors.admin)
    • Para obtener información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.

  • Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el activador de SAP ERP:
    • Invocador de integración de aplicaciones (roles/integrations.integrationInvoker)
    • Para obtener información sobre cómo conceder roles a una cuenta de servicio, consulta el artículo sobre cómo gestionar el acceso a cuentas de servicio.

  • Añadir el activador de SAP ERP

    Para añadir un activador de SAP ERP a tu integración, sigue estos pasos:

    1. En la Google Cloud consola, ve a la página Integración de aplicaciones.

      Ir a Application Integration

    2. En el menú de navegación, haga clic en Integraciones.

      Aparecerá la página Lista de integraciones, donde se muestran todas las integraciones disponibles en el proyecto de Google Cloud.

    3. Seleccione una integración o haga clic en Crear integración para crear una.

      Si vas a crear una integración:

      1. Escribe un nombre y una descripción en el panel Crear integración.
      2. Selecciona una región para la integración.
      3. Selecciona una cuenta de servicio para la integración. Puede cambiar o actualizar los detalles de la cuenta de servicio de una integración en cualquier momento desde el panel Resumen de la integración de la barra de herramientas de integración.
      4. Haz clic en Crear.

      La integración que acabas de crear se abre en el editor de integraciones.

    4. En la barra de navegación del editor de integraciones, haga clic en Activadores para ver la lista de activadores disponibles.
    5. Haz clic en el elemento Activador de SAP ERP y colócalo en el editor de integraciones.
    6. Para configurar el activador SAP ERP, puedes usar una conexión SAP ERP que ya tengas disponible en Integration Connectors o crear una nueva con la opción de creación de conexiones insertada.

    Configurar un activador de SAP ERP con una conexión existente

    El activador SAP ERP es un activador de evento de conector, por lo que solo puedes usar una conexión SAP ERP con la suscripción a eventos habilitada para configurar el activador.

    Para obtener información sobre cómo configurar un activador de SAP ERP con una nueva conexión de SAP ERP, consulta Configurar un activador de SAP ERP con una nueva conexión.

    Para configurar un desencadenador de SAP ERP con una conexión de SAP ERP, sigue estos pasos:

    1. En el editor de integraciones, haz clic en el elemento Activador de SAP ERP para abrir el panel de configuración del activador.
    2. Haz clic en Configurar activador.
    3. En la página Editor de activadores de eventos de conector, proporcione los siguientes detalles de configuración:
      1. Región: selecciona la región de tu conexión SAP ERP.
      2. Conexión: selecciona la conexión SAP ERP que quieras usar.

        Integración de aplicaciones solo muestra las conexiones de SAP ERP que están activas y tienen habilitada una suscripción a eventos.

      3. Escriba el nombre del campo de tipo de evento. Este campo identifica el tipo de evento asociado a la solicitud de evento entrante.
        {
            "event_type": "user.created",
            ...
            // other request fields
            ...
            }
      4. Cuenta de servicio: selecciona una cuenta de servicio con los roles de gestión de identidades y accesos necesarios para el activador de SAP ERP.
    4. Haz clic en Hecho para completar la configuración del activador y cerrar la página.

    Configurar un activador de SAP ERP con una nueva conexión

    1. En el editor de integraciones, haz clic en el elemento Activador de SAP ERP para abrir el panel de configuración del activador.
    2. Haz clic en Configurar activador.
    3. Omite el campo Región.
    4. Haz clic en Conexión y selecciona la opción Crear conexión en el menú desplegable.
    5. En la sección Detalles de la conexión, haz lo siguiente:
      1. Conector: selecciona SAP ERP en la lista desplegable de conectores disponibles.
      2. Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
      3. En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.

        Los nombres de las conexiones deben cumplir los siguientes criterios:

        • Los nombres de conexión pueden contener letras, números o guiones.
        • Las letras deben estar en minúsculas.
        • Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
        • Los nombres de conexión no pueden tener más de 49 caracteres.
        • En el caso de los conectores que admiten la suscripción a eventos, los nombres de conexión no pueden empezar por el prefijo "goog".
      4. Si quiere, puede introducir una Descripción de la conexión.
      5. También puedes habilitar Registro en la nube y, a continuación, seleccionar un nivel de registro. De forma predeterminada, el nivel de registro es Error.
      6. Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
      7. Para usar la conexión en las suscripciones a eventos, selecciona Habilitar suscripción a eventos. Si seleccionas esta opción, se mostrarán las siguientes:
        • Habilitar la suscripción a eventos con entidades y acciones: selecciona esta opción para usar la conexión tanto para la suscripción a eventos como para las operaciones del 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, a continuación, configura la suscripción a eventos.
      8. Cliente: el cliente que se autentica en el sistema SAP.
      9. ID del sistema: el ID del sistema o R3Name del sistema SAP es una cadena de tres caracteres como máximo. Se suele usar en conexiones de balanceo de carga.
      10. Número de sistema: el número por el que se define el sistema de destino. Se usa al definir la propiedad de conexión de host.
      11. ID del proyecto: ID del proyecto de Google Cloud en el que se encuentra el segmento de GCS que contiene el archivo JAR de SAP JCo.
      12. Segmento: nombre del segmento que contiene los archivos sapjco3.jar y libsapjco3.so.
      13. Ruta de Cloud Storage del archivo JAR de JCo: ruta de Cloud Storage del archivo JAR de JCo.
      14. Ruta de Cloud Storage de libsapjco3: ruta de Cloud Storage del archivo JAR libsapjco3.
      15. Modo Tabla: selecciona la tabla de SAP que quieras que se muestre como vista.
      16. Función de lectura de tablas: nombre de la función que se usará para leer tablas. Para obtener más información, consulta Usar una función de tabla de lectura personalizada.
      17. ID de sistema: el ID de sistema o el nombre R3 del sistema SAP. Puedes introducir un máximo de 3 caracteres.
      18. Modo de consulta: seleccione las tablas de SAP que se deben mostrar como vistas.
      19. Vistas navegables: introduce una lista de vistas separadas por comas que se mostrarán. Por ejemplo, ViewA,ViewB,ViewC.
      20. Idioma: defina esta propiedad con el idioma que especifique al iniciar sesión en SAP. Esta propiedad es un código ISO 639-1 del idioma que usa el sistema SAP. De forma predeterminada, se usará EN.
      21. Entradas de servicio: las entradas de servicio que se van a usar para la conexión.
      22. Modo SNC: selecciona esta opción para habilitar SNC en la autenticación entre Application Integration y tu sistema SAP. Si selecciona esta opción, especifique los siguientes detalles:
        • ID de objeto de SNC_LIB: ID de objeto de la biblioteca SNC.
        • Nombre del PSE: nombre del archivo del entorno de seguridad personal (PSE) que se aplica al bucket. Un archivo PSE almacena el par de claves públicas y privadas, así como los certificados X.509 en una estructura ASN.1.
        • Contraseña de SNC: selecciona el secreto de Secret Manager de la contraseña de la biblioteca de SNC.
        • Versión del secreto: selecciona la versión del secreto.
        • Nombre de SNC: introduce un nombre para la conexión SNC.
        • SNC qop: selecciona un nivel de protección. Estos son los niveles admitidos:
          • 1: solo se aplica la autenticación.
          • 2: aplica la protección de integridad. Esto también incluye la protección de la autenticación.
          • 3: aplica la protección de la privacidad. Esto también incluye la protección de la integridad y la autenticación.
          • 8: aplica la protección predeterminada.
          • 9: aplica la protección máxima.
        • Nombre de partner de SNC: introduce el nombre de SNC del servidor de aplicaciones.
      23. Esquema de conexión: especifica si te vas a conectar a un sistema SAP con un servidor de mensajes (servidor de grupo) o un servidor de aplicaciones. Para obtener información sobre los requisitos que debes cumplir para conectarte a un sistema SAP con un servidor de mensajes, consulta Tipo de conexión Servidor de mensajes (Servidor de grupo).

        Si seleccionas GroupServer, debes especificar los siguientes detalles:

        • Servidor de mensajes: especifica el servidor de mensajes al conectarte a un sistema SAP que utilice el balanceo de carga.
        • Servicio de servidor de mensajes: el servicio de servidor de mensajes al que quieres conectarte.
        • Grupo: el grupo de inicio de sesión que se usa. Solo debe especificarlo cuando se conecte a un sistema SAP que utilice el balanceo de carga.

        Si te conectas a un sistema SAP con un servidor de mensajes (servidor de grupo), no tienes que especificar la dirección del host en la sección Destinations (Destinos).

      24. Si quieres, configura los ajustes del nodo de conexión:

        • Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
        • Número máximo de nodos: introduce el número máximo de nodos de conexión.

        Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.

      25. También puedes hacer clic en + AÑADIR ETIQUETA para añadir una etiqueta a la conexión en forma de par clave-valor.
      26. Haz clic en Siguiente.
    6. En la sección Destinations (Destinos), introduce los detalles del host remoto (sistema backend) al que quieras conectarte. Si te conectas a un sistema SAP con Message Server, no es necesario que especifiques la dirección del host.
      1. 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 backend, selecciona Endpoint attachment (Endpoint adjunto) en la lista y, a continuación, selecciona el endpoint adjunto que necesites en la lista Endpoint Attachment (Endpoint adjunto).

        Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.

        Para introducir más destinos, haz clic en +Añadir destino.

      2. Haz clic en Siguiente.
    7. En la sección Autenticación, introduce los detalles de autenticación.
      1. Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.

        La conexión SAP ERP admite los siguientes tipos de autenticación:

        • Autenticación basada en certificados X509
        • Nombre de usuario y contraseña
      2. Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.

      3. Haz clic en Siguiente.
    8. Si has habilitado la suscripción a eventos, la sección Detalles de la suscripción a eventos aparecerá en la página de creación de la conexión. Para saber cómo configurar los detalles de la suscripción a eventos, consulte Configurar la suscripción a eventos.
    9. Revisar: revisa los detalles de la conexión y la autenticación.
    10. Haz clic en Crear.

    Configurar la autenticación

    Introduce los detalles en función de la autenticación que quieras usar.

    • Autenticación basada en certificados X.509
      • X509Certificate: el certificado X509 que se usa para iniciar sesión.
      • Versión del secreto: selecciona la versión del secreto.
    • Nombre de usuario y contraseña
      • Nombre de usuario: nombre de usuario del conector.
      • Contraseña: secreto de Secret Manager que contiene la contraseña asociada al conector.

    Configurar la suscripción a eventos

    Si habilitas la suscripción a eventos, debes configurar el SDK de ABAP. Para obtener información sobre cómo configurar el SDK de ABAP, consulta la descripción general del SDK de ABAP para Google Cloud.

    Introduzca los siguientes valores en la sección Detalles de la suscripción a eventos:

    1. Selecciona uno de los siguientes tipos de autenticación para el receptor de eventos.
    2. Escriba el nombre del campo de tipo de evento. Este campo identifica el tipo de evento asociado a la solicitud de evento entrante.
      {
      "event_type": "user.created",
      ...
      // other request fields
      ...
      }
    3. Selecciona Habilitar conectividad privada para establecer una conexión segura entre tu aplicación backend y tu conexión. Si seleccionas esta opción, debes seguir unos 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.
    4. Introduce la configuración de la cola de mensajes fallidos. Si configura mensajes fallidos, la conexión escribe los eventos no procesados en el tema de Pub/Sub especificado. Introduzca los siguientes detalles:
      1. ID de proyecto de mensajes fallidos: el ID del proyecto de Google Cloud en el que has configurado el tema de mensajes fallidos de Pub/Sub.
      2. Tema de mensajes fallidos: el tema de Pub/Sub en el que quieres escribir los detalles del evento no procesado.

    Usar 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 tablas de SAP.

    Sin embargo, tiene ciertas limitaciones. Por ejemplo, considera la excepción DATA_BUFFER_EXCEEDED. El SAP RFC_READ_TABLE tiene un tamaño fijo de 512 bytes. Puede almacenar en búfer cada fila de datos, por lo que no puedes seleccionar más columnas de las que cabrían en este búfer. Si selecciona más de 512 bytes, se producirá una excepción que indica que ha superado el tamaño máximo de búfer permitido por fila y que debe seleccionar menos columnas.

    RFC_READ_TABLE2

    El conector SAP ERP admite la función de lectura de tablas RFC_READ_TABLE2. Puedes cambiar la función de lectura de la tabla activa a RFC_READ_TABLE2 definiendo ReadTableFunction como /SAPDS/RFC_READ_TABLE2.

    Funciones de tabla de lectura personalizadas

    El conector incluye una RFC de lectura de tabla personalizada, Z_CUSTOM_READ_TABLE, que es similar a RFC_READ_TABLE de SAP, pero con un búfer más grande para solucionar el problema de DATA_BUFFER_EXCEEDED y evitar las limitaciones de RFC_READ_TABLE.

    Para usar el RFC de lectura de tabla personalizado incluido para eludir las limitaciones de RFC_READ_TABLE predeterminado, sigue estos pasos:

    1. Usa la función RFC_READ_TABLE como plantilla para la nueva función. Seleccione el código de transacción SE37 y el grupo de funciones SDTX, y copie RFC_READ_TABLE en un nuevo grupo de funciones o en el grupo de funciones de trabajo. En este ejemplo, RFC_READ_TABLE se copia en Z_CUSTOM_READ_TABLE.
    2. En la pestaña Atributos de la pantalla de SAP, selecciona Remote Enabled Module.
    3. En la pestaña Tablas, asigna el valor CHAR8000 al parámetro DATA. Haz clic con el botón derecho en la pantalla y, a continuación, en Pantalla -> Cambiar.
    4. En la pestaña Código fuente, pega el código fuente de ejemplo del módulo de función RFC_READ_TABLE de sustitución, que se encuentra en la subcarpeta db del directorio de instalación. El código se encuentra en Z_CUSTOM_READ_TABLE.txt, aunque se recomienda usar Z_CUSTOM_READ_TABLE_752.txt si tu instancia de SAP ERP ejecuta la versión 7.52 de ABAP o una posterior.
    5. Haz clic en Guardar.
    6. Define las importaciones, las tablas y las excepciones tal como se documenta en la tabla de lectura personalizada proporcionada.
    7. Activa el módulo de función y, en tu cadena de conexión, asigna el valor ReadTableFunction a Z_CUSTOM_READ_TABLE o al nombre de tu módulo de función.

    Tabla de lectura personalizada de ABAP 7.52

    Además de 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 posteriores. Es similar a Z_CUSTOM_READ_TABLE, pero aprovecha las palabras clave recién disponibles en ABAP 7.52 para realizar la paginación en la base de datos en lugar de en la propia secuencia de comandos de ABAP. De esta forma, la paginación es eficiente cuando se trabaja con tablas grandes.

    Se recomienda usar el RFC Z_CUSTOM_READ_TABLE_752.

    Configurar la autenticación en SAP

    Configura la autenticación en SAP siguiendo las instrucciones de la guía Información general sobre la autenticación de la edición local o en la nube del SDK de ABAP para Google Cloud.

    Validar el activador

    Para validar el activador, puedes crear un programa ABAP. A continuación, se muestra un programa ABAP de ejemplo que puedes usar como referencia. El campo ls_event_payload cambia en función de 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 información sobre las cuotas y los límites, consulta Cuotas y límites.

    Siguientes pasos