Consulta los conectores compatibles para Application Integration.

Activador de SAP ERP

El activador de SAP ERP es un activador de eventos del conector. El conector de SAP ERP te permite realizar operaciones de inserción, eliminación, actualización y lectura en los 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.

  • Otorga los siguientes roles de IAM a la cuenta de servicio que deseas usar para el activador de ERP de SAP:
  • Agrega el activador de SAP ERP

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

    1. En la consola de Google Cloud, ve a la página Application Integration.

      Ir a Application Integration

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

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

    3. 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:

      1. Ingresa 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. Puedes 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 en la barra de herramientas de la integración.
      4. Haz clic en Crear.

      Esto abrirá la integración en la página del editor de integración.

    4. En la barra de navegación del editor de integración, haz clic en Activadores para ver la lista de los activadores disponibles.
    5. Haz clic y coloca el elemento activador de SAP ERP en el editor de integración.
    6. 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 Connector, por lo que solo puedes usar una conexión de 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 Configura el activador de SAP ERP con una conexión nueva.

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

    1. Haz clic en el elemento Activador de SAP ERP en el editor de integración para abrir el panel de configuración del activador.
    2. Haz clic en Configurar activador.
    3. Proporciona los siguientes detalles de configuración en la página Editor de activadores de eventos de Connector:
      1. Región: Selecciona la región de tu conexión de SAP ERP.
      2. Conexión: Selecciona la conexión de SAP ERP que deseas usar.

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

      3. Ingresa el nombre del campo de tipo de evento. En este campo, se identifica el tipo de evento asociado con 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 IAM necesarios para el activador de SAP ERP.
    4. Haz clic en Listo para completar la configuración del activador y cerrar la página.

    Configura el activador de SAP ERP con una conexión nueva

    1. Haz clic en el elemento Activador de SAP ERP en el editor de integración 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, completa lo siguiente:
      1. Conector: Selecciona SAP ERP en la lista desplegable de conectores disponibles.
      2. Versión del conector: selecciona la versión del conector de la lista desplegable de versiones disponibles.
      3. 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 el prefijo "goog".
      4. De manera opcional, ingresa una Descripción para la conexión.
      5. De manera opcional, habilita Cloud Logging y, luego, selecciona un nivel de registro. De forma predeterminada, el nivel de registro se establece en Error.
      6. Cuenta de servicio: Selecciona una cuenta de servicio que tenga los roles necesarios.
      7. 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 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 al evento.
      8. Cliente: Es 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 con un máximo de tres caracteres. A menudo, se usa en conexiones de balanceo de cargas.
      10. Número de sistema: Es el número con el que se define el sistema de destino. Se usa cuando se configura la propiedad de conexión del host.
      11. 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.
      12. Bucket: Es el nombre del bucket que contiene los archivos sapjco3.jar y libsapjco3.so.
      13. ID del objeto del archivo jar de Jaco: Es el ID del objeto del archivo jar de JCo.
      14. ID del objeto libsapjco3: Es el ID del objeto del archivo jar libsapjco3.
      15. Modo de tabla: Selecciona la tabla de SAP que se mostrará como una vista.
      16. Función de lectura de tablas: Es el 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.
      17. ID del sistema: El ID del sistema o el R3Name del sistema SAP. Puedes ingresar un máximo de 3 caracteres.
      18. Modo de consulta: Selecciona qué tablas de SAP se deben mostrar como vistas.
      19. Vistas navegables: Ingresa una lista separada por comas de las vistas que se mostrarán. Por ejemplo, ViewA,ViewB,ViewC
      20. Idioma: Establece esta propiedad en el idioma que especifiques cuando accedas a SAP. Esta propiedad es un código ISO 639-1 para el idioma que usa el sistema SAP. De forma predeterminada, se usará EN.
      21. Entradas de servicio: Son las entradas de servicio que se usarán para la conexión.
      22. Modo SNC: Selecciona esta opción para habilitar SNC para la autenticación entre la Application Integration y tu sistema SAP. Si seleccionas esta opción, especifica los siguientes detalles:
        • ID del objeto SNC_LIB: Es el ID del objeto de la biblioteca de SNC.
        • Nombre del PSE: Es el nombre del archivo de entorno de seguridad personal (PSE) que se aplica al bucket. Un archivo PSE almacena el par de claves pública y privada, así como los certificados X.509 en una estructura ASN.1.
        • Contraseña de SNC: Selecciona el Secret de Secret Manager de la contraseña de la biblioteca de SNC.
        • Versión del Secret: Selecciona la versión del Secret.
        • 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: Aplicar 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.
      23. Esquema de conexión: Especifica si te conectas a un sistema SAP con un servidor de mensajes (servidor de grupos) o un servidor de aplicaciones. Para obtener información sobre los requisitos previos que debes cumplir para conectarte a un sistema SAP con un servidor de mensajes, consulta Tipo de conexión de servidor de mensajes (servidor de grupos).

        Si seleccionas GroupServer, debes especificar los siguientes detalles:

        • Servidor de mensajes: Especifica el servidor de mensajes cuando te conectes a un sistema SAP que use el balanceo de cargas.
        • Servicio de servidor de mensajes: Es el servicio de servidor de mensajes al que deseas conectarte.
        • Grupo: Es el grupo de acceso que se usa. Debes especificar esto solo cuando te conectes a un sistema SAP que use el balanceo de cargas.

        Si te conectas a un sistema SAP con un servidor de mensajes (servidor de grupos), no es necesario que especifiques la dirección del host en la sección Destinos.

      24. 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.

      25. De forma opcional, haz clic en + AGREGAR ETIQUETA para agregar una etiqueta a la conexión en forma de un par clave-valor.
      26. Haz clic en Siguiente.
    6. En la sección Destinos, ingresa los detalles del host remoto (sistema de backend) al que deseas conectarte. Si te conectas a un sistema SAP con el servidor de mensajes, no necesitas especificar 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 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 a tus sistemas de backend con seguridad adicional, puedes configurar direcciones IP salientes estáticas para tus conexiones y, luego, configurar tus reglas de firewall 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.

      2. Haz clic en Siguiente.
    7. En la sección Autenticación, ingresa los detalles de autenticación.
      1. 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:

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

      3. Haz clic en Siguiente.
    8. 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.
    9. Revisa: Revisa tus detalles de conexión y autenticación.
    10. Haz clic en Crear.

    Configura la autenticación

    Ingresa los detalles según la autenticación que desees usar.

    • Autenticación basada en X509Certificate
      • X509Certificate: Es el certificado X509 que se usa para acceder.
      • Versión del secreto: Selecciona la versión del secreto.
    • Nombre de usuario y contraseña
      • Username: Nombre de usuario para el conector
      • Password: El Secret de Secret Manager que contiene la contraseña asociada con el conector.

    Configura la suscripción a eventos

    Si habilitas la suscripción a eventos, debes configurar el SDK de ABAP. Si deseas obtener información para configurar el SDK de ABAP, consulta Descripción general del SDK de ABAP para Google Cloud.

    Ingresa los siguientes valores en la sección Event Subscription Details:

    1. Selecciona cualquiera de los siguientes tipos de autenticación para el objeto de escucha de eventos.
    2. Ingresa el nombre del campo de tipo de evento. En este campo, se identifica el tipo de evento asociado con la solicitud de evento entrante.
      {
      "event_type": "user.created",
      ...
      // other request fields
      ...
      }
    3. 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.
    4. 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:
      1. ID del proyecto de buzón de destino: Es el ID del proyecto de Google Cloud en el que configuraste el tema de buzón de destino de Pub/Sub.
      2. Tema de mensajes no entregados: Es el tema de Pub/Sub en el que deseas escribir los detalles del evento no procesado.

    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. Por ejemplo, considera la excepción DATA_BUFFER_EXCEEDED. El RFC_READ_TABLE de SAP tiene un tamaño fijo de 512 bytes. Puede almacenar en búfer cada fila de datos y, por lo tanto, no puedes seleccionar más columnas que la cantidad que cabría en este búfer. 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. Para cambiar la función de lectura de tabla activa a RFC_READ_TABLE2, configura ReadTableFunction en /SAPDS/RFC_READ_TABLE2.

    Funciones de tabla de lectura personalizadas

    El conector incluye una RFC de tabla de lectura personalizada, Z_CUSTOM_READ_TABLE, que es similar a la RFC_READ_TABLE de SAP, pero con un búfer más grande para abordar 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:

    1. Usa la función RFC_READ_TABLE como plantilla para la función nueva. Selecciona el código de transacción SE37 y el grupo de funciones SDTX, y copia RFC_READ_TABLE en un grupo de funciones nuevo o en tu 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, establece el parámetro DATA en CHAR8000. Haz clic con el botón derecho en la pantalla y, luego, en Pantalla -> Cambiar.
    4. En la pestaña Source Code, pega el código fuente de ejemplo del módulo de función RFC_READ_TABLE de reemplazo ubicado en la subcarpeta db del directorio de instalación. El código se encuentra en Z_CUSTOM_READ_TABLE.txt, aunque se prefiere Z_CUSTOM_READ_TABLE_752.txt si tu instancia de SAP ERP ejecuta ABAP versión 7.52 o posterior.
    5. Haz clic en Guardar.
    6. Define las importaciones, las tablas y las excepciones como se documenta en la tabla de lectura personalizada proporcionada.
    7. Activa el módulo de funciones y, en la cadena de conexión, establece ReadTableFunction en Z_CUSTOM_READ_TABLE o el nombre de tu módulo de funciones.

    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

    Para configurar la autenticación en SAP, sigue las instrucciones de la guía Descripción general de la autenticación para las ediciones locales o 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 programa ABAP de ejemplo 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.

    ¿Qué sigue?