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.

  • Otorga los siguientes roles de IAM a la cuenta de servicio que deseas usar para el activador de SAP ERP:
  • 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 Integrations List, 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 Create Integration.
      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 Integration summary de la barra de herramientas de 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 SAP ERP trigger 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 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:

    1. Haz clic en el elemento SAP ERP trigger 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. Region: 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 ERP de SAP que están activas y tienen habilitada una suscripción a eventos.

      3. 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
            ...
            }
      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 mediante una conexión nueva

    1. Haz clic en el elemento SAP ERP trigger 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 “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 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.
      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 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 por 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 jar de Jaco: Es el ID del objeto del jar de JCo.
      14. ID del objeto de libsapjco3: Es el ID de objeto del jar libsapjco3.
      15. Modo de tabla: Selecciona la tabla de SAP que se mostrará como vista.
      16. ID de objeto SNC_LIB: Es el ID de objeto de la biblioteca de SNC.
      17. 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.
      18. Grupo: Es el nombre del grupo para el acceso. Por lo general, esto se especifica cuando tu sistema SAP usa balanceadores de cargas.
      19. 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.
      20. 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.
      21. Esquema de conexión: Selecciona un esquema de conexión que se usará para conectarte a tu sistema SAP.
      22. ID del sistema: El ID del sistema o el R3Name del sistema SAP. Puedes ingresar un máximo de 3 caracteres.
      23. Contraseña de SNC: Selecciona el Secret de Secret Manager de la contraseña de la biblioteca de SNC.
      24. Versión del secreto: Selecciona la versión del secreto.
      25. Modo SNC: Selecciona esta opción si quieres habilitar SNC para la autenticación entre Application Integration y tu sistema SAP.
      26. Nombre de SNC: Ingresa un nombre para la conexión de SNC.
      27. 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.
      28. Nombre del socio de SNC: Ingresa el nombre de SNC del servidor de aplicaciones.
      29. Modo de consulta: Selecciona qué tablas de SAP se deben mostrar como vistas.
      30. Vistas navegables: Ingresa una lista de vistas separadas por comas que se mostrarán. Por ejemplo, ViewA,ViewB,ViewC
      31. 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.
      32. 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.

      33. De forma opcional, haz clic en + AGREGAR ETIQUETA para agregar una etiqueta a la conexión en forma de un par clave-valor.
      34. Haz clic en Siguiente.
    6. En la sección Destinos, ingresa los detalles del host remoto (sistema de backend) al que deseas conectarte.
      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 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.

      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:

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

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

    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:

    1. Selecciona cualquiera de los siguientes tipos de autenticación para el objeto de escucha de eventos.
    2. 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
      ...
      }
    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 mensajes no entregados: Es el ID del proyecto de Google Cloud en el que configuraste el tema de mensajes no entregados de Pub/Sub.
      2. Tema de mensajes no entregados: es el tema de Pub/Sub en el que deseas escribir los detalles del evento sin procesar.

    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:

    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 nuevo grupo de funciones 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 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 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, tablas y 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 en 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

    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.

    ¿Qué sigue?