Empezar con AWS SDK para SAP ABAP - AWS SDK para SAP ABAP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Empezar con AWS SDK para SAP ABAP

En esta sección se describe cómo empezar a usar el SDK. Incluye información sobre la instalación del SDK, la configuración básica y la creación de un ejemplo de código de Hello World que traduce una frase de un idioma a otro. Si es la primera vez que utiliza el AWS SDK, le recomendamos que realice estos pasos en un entorno sandbox.

Paso 1: Prepare su cuenta AWS

Para empezar a utilizar el SDK de SAP ABAP, debe tener una Cuenta de AWS activa. Lo necesita Cuenta de AWS incluso si su sistema SAP está alojado en las instalaciones, en la plataforma de tecnología empresarial (BTP) de SAP o con otro proveedor de servicios en la nube.

Si su sistema SAP se ejecuta en AWS la nube, realizará llamadas a los AWS servicios de su empresa. Cuenta de AWS

Rol de IAM para los usuarios de SAP

  • Cree un rol de IAM con las instrucciones que se proporcionan en la Guía del usuario de AWS Identity and Access Management . Para obtener más información, consulte Crear un rol para delegar permisos a un AWS servicio. Anote el nombre de recurso de Amazon (ARN) del rol de IAM para uso posterior.

  • Seleccione Amazon EC2 como caso de uso.

  • Utilice SapDemoTranslate como nombre del rol.

  • Adjunte el perfil de TranslateReadOnly al rol.

  • El rol debe tener las siguientes entidades para que el sistema SAP pueda asumirlo. Sustituya "111122223333" por su nombre de cuenta de AWS .

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "AWS": "111122223333" } } ] }

    En este ejemplo se muestra que cualquier director de la Cuenta de AWS "111122223333" puede asumir la función. Se trata de un permiso amplio adecuado para proof-of-concept. Puede utilizar una entidad principal más limitada para la producción, como en los ejemplos siguientes.

    • Un usuario específico: cuando el sistema SAP utiliza una de las siguientes opciones:

      • Credenciales cifradas con SSF de un sistema SAP local

      • Credenciales del servicio SAP Credential Store en un entorno SAP BTP y ABAP

    • Un rol específico: cuando el sistema SAP está en Amazon EC2 y hay un perfil de instancia.

    • Amazon EC2: cuando el sistema SAP está en Amazon EC2 y no hay perfil de instancia.

Para obtener más información, consulte Prácticas recomendadas de seguridad de IAM.

Autenticación

La autenticación depende del lugar donde esté alojado el sistema SAP.

En la nube AWS

Asegúrese de que la instancia EC2 en la que se ejecuta el sistema SAP tenga un perfil de instancia con los siguientes permisos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate" } ] }

Añada el ARN que anotó en el paso anterior.

Este permiso permite que su sistema SAP asuma el rol de SapDemoTranslate en nombre del usuario de ABAP.

En las instalaciones, SAP BTP u otra nube

Si su sistema SAP está ubicado de forma local, en SAP BTP o en otra nube, siga los siguientes pasos para establecer una conexión de autenticación mediante una clave de acceso secreta.

  1. Cree un usuario de IAM. Para obtener más información, consulte Creación de usuarios de IAM (consola).

  2. Utilice SapDemoSID como nombre del usuario de IAM. SID es el ID de sistema de su sistema SAP.

  3. Asigne el rol SapDemoTranslate a este usuario.

Conserve la yaccess_key. secret_access_key Debe configurar estas credenciales en su sistema SAP.

nota

Si su sistema SAP está ubicado en las instalaciones, en SAP BTP o en otra nube, puede autenticarse mediante una de las siguientes opciones.

Paso 2: Instalar el SDK

Consulte las siguientes pestañas para ver las instrucciones de instalación.

SDK for SAP ABAP

Importe el SDK para los transportes SAP ABAP en su sistema SAP. Puede importar los transportes a cualquier cliente. Para obtener más información, consulte Instalación del SDK para SAP ABAP.

SDK for SAP ABAP - BTP edition

Instale el SDK para SAP ABAP, edición BTP, mediante la aplicación Deploy Product. Para obtener más información, consulte Instalación del SDK para SAP ABAP: edición BTP.

Paso 3: Configurar el SDK

Consulte las siguientes pestañas para obtener instrucciones de configuración.

SDK for SAP ABAP

Ejecute la /AWS1/IMG transacción para abrir la Guía de implementación del SDK para SAP ABAP. Para ejecutar esta transacción, escriba /n/AWS1/IMG en la barra de comandos de su sistema SAP y, a continuación, pulse Intro.

Complete las siguientes configuraciones.

  • Vaya a Requisitos técnicos previos.

    • Revise los parámetros de perfil recomendados y la configuración del certificado SSL.

  • Vaya a Configuración globalConfigurar escenarios.

    • Cambie la configuración según las recomendaciones de la configuración global.

  • Vaya a Configuración globalConfiguración técnica.

    • Cambie la configuración según las recomendaciones de la configuración global.

  • Vaya a Configuración de tiempo de ejecuciónRegistrar y rastrear.

    • Seleccione Nuevas entradas.

      • Nivel de rastreo: sin rastreo.

      • Número máximo de líneas de volcado: 100.

      • OPT-IN: telemetría mejorada: deje este campo en blanco.

    • Seleccione Guardar.

  • Vaya a Configuración de tiempo de ejecuciónEscenario activo.

    • En Nuevo escenario, seleccione DEFAULT.

    • Seleccione Confirmar cambio de escenario.

    • Acepte la solicitud.

SDK for SAP ABAP - BTP edition

Abra su entorno ABAP en un navegador web y navegue hasta la aplicación Custom Business Configurations.

Complete las siguientes configuraciones.

  • Vaya a Configuración globalConfigurar escenarios.

    • Cambie la configuración según las recomendaciones de la configuración global.

  • Vaya a Configuración globalConfiguración técnica.

    • Cambie la configuración según las recomendaciones de la configuración global.

Requisitos previos para sistemas en las instalaciones

Si su sistema SAP se ejecuta en las instalaciones o en otra nube, las credenciales deben almacenarse en la base de datos de SAP. Las credenciales se cifran mediante SAP SSF y requieren una biblioteca criptográfica configurada, como la de SAP. CommonCryptoLib

Los pasos para configurar SSF para el SDK de SAP ABAP se describen en la transacción /AWS1/IMG.

nota

El requisito previo anterior no se aplica si el sistema SAP se ejecuta en Amazon EC2. Los sistemas SAP que se ejecutan en Amazon EC2 pueden recuperar credenciales de corta duración que rotan automáticamente a partir de metadatos de instancias de Amazon EC2.

Paso 4: Configuración funcional

Consulte las siguientes pestañas para obtener instrucciones de configuración.

SDK for SAP ABAP

Ejecute la transacción /AWS1/IMG (introdúzcala /n/AWS1/IMG en la barra de comandos y elija Entrar) para abrir la guía de implementación AWS del SDK.

  • Vaya a Configuración de la aplicaciónPerfil del SDK.

    • Seleccione Nuevas entradas.

      • Perfil: DEMO.

      • DescripciónDemo profile.

      • Seleccione Guardar.

  • Resalte la entrada que creó y haga clic en la rama del árbol de autenticación y configuración.

    • Seleccione Nuevas entradas.

      • SID: el ID del sistema SAP en el que se encuentra actualmente.

      • Cliente: el cliente del sistema SAP en el que se encuentra actualmente.

      • ID de escenario: la lista desplegable donde encontrará el escenario PREDETERMINADO creado por su administrador de Basis.

      • AWS Región: introduce la AWS región a la que quieres hacer llamadas. Si su sistema SAP está funcionando AWS, introduzca la AWS región en la que se está ejecutando.

      • Método de autenticación:

        • Seleccione Rol de instancia mediante los metadatos si su sistema SAP se ejecuta en Amazon EC2.

        • Si su sistema SAP se ejecuta en las instalaciones o en otra nube, seleccione Credenciales del almacenamiento de SSF.

          • Seleccione Establecer credenciales.

          • Escriba el ID de clave de acceso y la clave de acceso secreta que ha creado en el paso anterior.

    • Mantenga en blanco la opción Desactivar roles de IAM.

    • Seleccione Guardar.

  • Haga clic en la rama del árbol de asignación de roles de IAM.

    • Seleccione Nuevas entradas.

      • Escriba el número de secuencia: 010.

      • Escriba el rol de IAM lógico: TESTUSER.

      • Escriba el ARN del rol de IAM: escriba el arn:aws: del rol de IAM que contiene la política TranslateReadOnly creada en el paso anterior.

SDK for SAP ABAP - BTP edition

Configure la autenticación mediante SAP Credential Store. Para obtener más información, consulte Uso de SAP Credential Store.

Abra su entorno ABAP en un navegador web y navegue hasta la aplicación Custom Business Configurations.

  • Vaya a Configuración de la aplicaciónPerfil del SDK.

    • Seleccione Editar para crear un perfil nuevo.

      • Perfil: DEMO.

      • DescripciónDemo profile.

  • Seleccione la tecla de flecha derecha situada junto a la entrada creada y vaya a la pestaña Autenticación y configuración.

    Seleccione Nuevas entradas.

    • SID: el ID del sistema SAP en el que se encuentra actualmente.

    • Cliente: el cliente del sistema SAP en el que se encuentra actualmente.

    • ID de escenario: la lista desplegable donde encontrará el escenario PREDETERMINADO creado por su administrador de Basis.

    • AWS Región: introduce la AWS región a la que quieres hacer llamadas. Si su sistema SAP está funcionando AWS, introduzca la AWS región en la que se está ejecutando.

    • Método de autenticación: seleccione las credenciales del almacén de credenciales de SAP.

    • Introduzca el espacio de nombres y el nombre clave de las credenciales almacenadas en el almacén de credenciales de SAP.

    • Introduzca el nombre del acuerdo de comunicación creado para establecer la comunicación entre el SDK para SAP ABAP (edición BTP) y SAP Credential Store.

    • Mantenga en blanco la opción Desactivar roles de IAM.

    • Haga clic con el botón derecho en la tecla de flecha situada junto a la entrada creada y vaya a la pestaña IAM Role Mapping.

      Seleccione Nuevas entradas.

      • Escriba el número de secuencia: 010.

      • Escriba el rol de IAM lógico: TESTUSER.

      • Escriba el ARN del rol de IAM: escriba el arn:aws: del rol de IAM que contiene la política TranslateReadOnly creada en el paso anterior.

Paso 5: Autorizar a los usuarios de SAP

Los usuarios de SAP no están autorizados a utilizar AWS la funcionalidad de forma predeterminada. Los usuarios deben estar autorizados de forma explícita mediante autorizaciones de SAP. Consulte las siguientes pestañas para obtener más información.

SDK for SAP ABAP

Cree un rol de PFCG

  • Vaya a la transacción PFCG

  • Escriba el nombre del rol ZAWS_SDK_DEMO_TESTUSER y seleccione Crear un rol único.

    • Descripción: Role for demo AWS SDK functionality.

    • Vaya a la pestaña Autorizaciones.

    • Seleccione Cambiar datos de autorización y acepte la ventana emergente informativa.

    • En la ventana emergente Elegir plantilla, seleccione No seleccionar plantillas.

    • Seleccione Añadir manualmente en la barra de herramientas.

    • Añada los siguientes objetos de autorización:

      • /AWS1/LROL

      • /AWS1/SESS

    • En el árbol de autorizaciones, ingrese:

      • Perfil para acceder a las API de AWS: DEMO

      • Rol de IAM lógico: TESTUSER

    • Seleccione Guardar.

    • Seleccione Generar.

    • Seleccione Atrás.

    • Seleccione Guardar para guardar el rol.

Asignar el rol de PFCG a los usuarios de SAP

Cualquier usuario que tenga el ZAWS_SDK_DEMO_TESTUSER rol asignado estará autorizado a usar las funciones AWS del SDK con los ajustes configurados en el perfil DEMO del SDK. El usuario autorizado también asumirá el rol de IAM asignado al rol de IAM lógico TESTUSER en ese perfil.

  • Ejecute la transacción SU01.

    • Introduzca el seudónimo de un usuario de SAP que probará la funcionalidad AWS del SDK.

    • Seleccione Cambiar.

    • Vaya a la pestaña Roles y asigne el rol ZAWS_SDK_DEMO_TESTUSER al usuario.

    • Seleccione Guardar.

SDK for SAP ABAP - BTP edition

Cree un rol empresarial

  • Abra su entorno ABAP en un navegador web y navegue hasta la aplicación Maintain Business Roles.

  • Seleccione Crear a partir de una plantilla e introduzca los siguientes detalles.

    • Plantilla: elija/AWS1/RT_BTP_ENDUSER.

    • ID de nuevo rol empresarial: introduzca un ID.

    • Descripción del nuevo rol empresarial: introduzca una descripción.

  • Seleccione Aceptar para ver la página del rol empresarial.

  • En la pestaña Detalles generales del rol, vaya a Categorías de acceso y establezca el campo de ayuda para escribir, leer y valorar como restringido.

  • Seleccione Mantener restricciones y expanda los tipos de restricciones asignados en el panel de navegación izquierdo. Actualice el siguiente campo en la sección Restricciones y valores.

    • En Elegir sesión del SDK, selecciona el icono del lápiz situado junto al perfil del SDK y navega hasta la pestaña Rangos. DEMOIngresa y selecciona Agregar.

    • En Elegir función de IAM lógica, seleccione el icono de lápiz situado junto a la función de IAM lógica y vaya a la pestaña Rangos. Introduzca TESTUSER y seleccione Añadir.

      Selecciona el icono del lápiz situado junto al perfil del SDK y navega hasta la pestaña Rangos. DEMOIngresa y selecciona Agregar

  • Vuelva a la plantilla de rol empresarial y abra la pestaña Usuarios empresariales. Seleccione Agregar para asignar el rol empresarial recién creado a un usuario empresarial de SAP que probará la funcionalidad del SDK. Seleccione Guardar.

Cualquier usuario empresarial asignado al rol empresarial creado estará autorizado a utilizar las funciones del AWS SDK con los ajustes configurados en el perfil DEMO del SDK. El usuario autorizado también asumirá el rol de IAM asignado al rol de IAM lógico TESTUSER en ese perfil.

Paso 6: Escribe el código

Consulte las siguientes pestañas para obtener más información.

SDK for SAP ABAP
  1. Abra la transacción SE38.

    • Escriba ZDEMO_TRANSLATE_HELLO_WORLD como nombre del programa.

    • Seleccione Create.

    • Escriba AWS SDK Hello World In Any Language como título.

    • Tipo: elija Programa ejecutable.

    • Estado: elija Programa de prueba.

    • Seleccione Guardar.

    • Guarde el programa como un objeto local.

Añada el código siguiente.

*&---------------------------------------------------------------------* *& Report  ZAWS1_DEMO_XL8_SIMPLE *& *&---------------------------------------------------------------------* *& A simple demo of language translation with AWS Translate *& *&---------------------------------------------------------------------* REPORT zaws1_demo_xl8_simple. START-OF-SELECTION.   PARAMETERS pv_text TYPE /aws1/xl8boundedlengthstring DEFAULT 'Hello, World' OBLIGATORY.   PARAMETERS pv_lang1 TYPE languageiso DEFAULT 'EN' OBLIGATORY.   PARAMETERS pv_lang2 TYPE languageiso DEFAULT 'ES' OBLIGATORY.   TRY.       DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ).       DATA(go_xl8)     = /aws1/cl_xl8_factory=>create( go_session ).       DATA(lo_output) = go_xl8->translatetext(            iv_text               = pv_text            iv_sourcelanguagecode = CONV /aws1/xl8languagecodestring( pv_lang1 )            iv_targetlanguagecode = CONV /aws1/xl8languagecodestring( pv_lang2 )       ).       WRITE: / 'Source Phrase: ', pv_text.       WRITE: / 'Target Phrase: ', lo_output->get_translatedtext( ).     CATCH /aws1/cx_xl8unsuppedlanguage00 INTO DATA(lo_lang).       WRITE: / 'ERROR' COLOR COL_NEGATIVE,                'Cannot translate from',                lo_lang->sourcelanguagecode,                'to',                lo_lang->targetlanguagecode.     CATCH cx_root INTO DATA(lo_root).       WRITE: / 'ERROR' COLOR COL_NEGATIVE, lo_root->get_text( ).   ENDTRY.
SDK for SAP ABAP - BTP edition
  1. Haga clic con el botón derecho en el paquete en el que desee crear la clase ABAP y, a continuación, seleccione Nuevo > Clase ABAP.

  2. Introduzca el nombre ZCL_DEMO_XL8_SIMPLE de la clase y añada una descripción de la clase. Seleccione Siguiente.

  3. Cree o elija una solicitud de transporte. Selecciona Finalizar.

Añada el código siguiente.

CLASS zcl_demo_xl8_simple DEFINITION PUBLIC FINAL CREATE PUBLIC . PUBLIC SECTION. INTERFACES if_oo_adt_classrun. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zcl_demo_xl8_simple IMPLEMENTATION. METHOD if_oo_adt_classrun~main. TRY. " input parameters DATA(pv_text) = |Hello, World|. DATA(pv_lang1) = |EN|. DATA(pv_lang2) = |ES|. DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ). DATA(go_xl8) = /aws1/cl_xl8_factory=>create( go_session ). DATA(lo_output) = go_xl8->translatetext( iv_text = pv_text iv_sourcelanguagecode = pv_lang1 iv_targetlanguagecode = pv_lang2 ). out->write( |Source Phrase: { pv_text }| ). out->write( |Target Phrase: { lo_output->get_translatedtext( ) }| ). CATCH /aws1/cx_xl8unsuppedlanguage00 INTO DATA(lo_lang). out->write( |ERROR - Cannot translate from { lo_lang->sourcelanguagecode } to { lo_lang->targetlanguagecode }| ). CATCH cx_root INTO DATA(lo_root). out->write( |ERROR - { lo_root->get_text( ) }| ). ENDTRY. ENDMETHOD. ENDCLASS.

Paso 7: ejecuta la aplicación

Consulte las siguientes pestañas para obtener más información.

SDK for SAP ABAP

Ejecute la aplicación en SE38. Si la operación se realiza correctamente, el resultado será el siguiente.

Source Phrase: Hello, World Target Phrase: Hola, mundo

Si faltan autorizaciones, la configuración o los requisitos previos de Basis, es posible que aparezca un mensaje de error. Consulte el siguiente ejemplo.

ERROR Could not find configuration under profile DEMO with scenario DEFAULT for SBX:001

Si su rol de SAP le autoriza a utilizar un perfil del SDK y asignarlo a un rol de IAM lógico mientras sus permisos de IAM no están configurados para que el sistema SAP asuma el rol de IAM, el resultado será el siguiente.

ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate

En este caso, revise los permisos de IAM y la configuración de confianza en los roles de IAM, los usuarios o ambos definidos en Paso 1: Prepare su cuenta AWS.

SDK for SAP ABAP - BTP edition

Ejecute la aplicación en la aplicación Eclipse > Ejecutar como > ABAP (consola). Si la operación se realiza correctamente, el resultado será el siguiente.

Source Phrase: Hello, World Target Phrase: Hola, mundo

Si faltan autorizaciones, la configuración o los requisitos previos de Basis, es posible que aparezca un mensaje de error. Consulte el siguiente ejemplo.

ERROR Could not find configuration under profile DEMO with scenario DEFAULT for SBX:001

Si su rol de SAP le autoriza a utilizar un perfil del SDK y asignarlo a un rol de IAM lógico mientras sus permisos de IAM no están configurados para que el sistema SAP asuma el rol de IAM, el resultado será el siguiente.

ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate

En este caso, revise los permisos de IAM y la configuración de confianza en los roles de IAM, los usuarios o ambos definidos en Paso 1: Prepare su cuenta AWS.