Empezar con AWS SDK para SAP ABAP - AWS SDKpara 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 conSDK. Incluye información sobre la instalaciónSDK, la configuración básica y la creación de un ejemplo de código de Hello World que traduzca una frase de un idioma a otro. Si es la primera vez que lo AWS SDK usa, le recomendamos que realice estos pasos en un entorno sandbox.

Paso 1: Prepara tu cuenta AWS

SDKPara empezar SAPABAP, debes tener una activa Cuenta de AWS . Lo necesitará Cuenta de AWS incluso si su SAP sistema está alojado de forma local, en una plataforma tecnológica SAP empresarial (BTP) o con otro proveedor de servicios en la nube.

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

IAMrol para SAP los usuarios

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

  • Selecciona Amazon EC2 como caso de uso.

  • Utilice SapDemoTranslate como nombre del rol.

  • Adjunte el perfil de TranslateReadOnly al rol.

  • La función debe tener las siguientes entidades para que el SAP sistema pueda asumirla. 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. Este es 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 SAP sistema utiliza una de las siguientes opciones:

      • SSF-credenciales cifradas de un sistema local SAP

      • Credenciales del servicio SAP Credential Store activado en el entorno SAP BTP ABAP

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

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

Para obtener más información, consulta Mejores prácticas de IAM seguridad.

Autenticación

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

En la AWS nube

Asegúrese de que la EC2 instancia en la que se ejecuta el SAP sistema 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" } ] }

Agrega lo ARN que anotaste en el paso anterior.

Este permiso permite al SAP sistema asumir la SapDemoTranslate función en nombre del ABAP usuario.

En las instalaciones SAP BTP o en otra nube

Si su SAP sistema está ubicado de forma local, en otra nube SAP BTP o en otra, 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 IAM usuarios (consola).

  2. SapDemoSIDUtilícelo como nombre del IAM usuario. SIDes el identificador de sistema de su SAP sistema.

  3. Asigne el rol SapDemoTranslate a este usuario.

Conserve las access_key letras ysecret_access_key. Debe configurar estas credenciales en su SAP sistema.

nota

Si su SAP sistema está ubicado de forma local, 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 obtener instrucciones de instalación.

SDK for SAP ABAP

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

SDK for SAP ABAP - BTP edition

Realice SDK la instalación para su SAP ABAP BTP edición mediante la aplicación Deploy Product. Para obtener más información, consulte Instalación SDK para SAP ABAP la BTP edición.

Paso 3: Configurar el SDK

Antes de configurarloSDK, asegúrese de que dispone de las autorizaciones necesarias. Para obtener más información, consulte SAPautorizaciones.

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 de SDK for SAPABAP. Para ejecutar esta transacción, introduzca /n/AWS1/IMG en la barra de comandos del SAP sistema y, a continuación, pulse Entrar.

Complete las siguientes configuraciones.

  • Vaya a Requisitos técnicos previos.

  • Vaya a Configuración globalConfigurar escenarios.

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

  • 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-En: telemetría de Zenh: manténgalo 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.

Requisitos previos para sistemas en las instalaciones

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

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

nota

El requisito previo anterior no se aplica si el SAP sistema se ejecuta en AmazonEC2. SAPlos sistemas que se ejecutan en Amazon EC2 recuperan credenciales efímeras que rotan automáticamente de los metadatos de la EC2 instancia de Amazon.

SDK for SAP ABAP - BTP edition

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

Complete las siguientes configuraciones.

  • Vaya a Configurar escenarios.

  • Vaya a la configuración técnica.

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 (/n/AWS1/IMGintrodúzcala en la barra de comandos y pulse Entrar) para abrir la guía de implementación AWS SDK.

  • Vaya a Configuración de la aplicaciónSDKPerfil.

    • 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 identificador del SAP sistema en el que se encuentra actualmente.

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

      • ID de escenario: la lista desplegable en la que encontrarás el DEFAULT escenario creado por tu administrador de Basis.

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

      • Método de autenticación:

        • Seleccione Instance Role via Metadata si su SAP sistema se ejecuta en AmazonEC2.

        • Seleccione Credenciales del SSF almacenamiento si su SAP sistema se ejecuta de forma local o en otra nube.

          • 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 Inhabilitar IAM funciones.

    • Seleccione Guardar.

  • Haga clic en la rama del árbol de mapeo de IAM roles.

    • Seleccione Nuevas entradas.

      • Escriba el número de secuencia: 010.

      • Introduzca el IAMrol lógico:TESTUSER.

      • Introduzca el IAMrol ARN: introduzca el arn:aws: del IAM rol que contiene la TranslateReadOnly política creada en el paso anterior.

SDK for SAP ABAP - BTP edition

Configure la autenticación mediante el almacén de SAP credenciales. Para obtener más información, consulte Uso del almacén de SAP credenciales.

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

  • Vaya al SDKperfil.

    • Seleccione Editar para crear un perfil nuevo.

      • Perfil: DEMO.

      • DescripciónDemo profile.

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

    Seleccione Nuevas entradas.

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

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

    • ID de escenario: la lista desplegable en la que encontrarás el DEFAULT escenario creado por tu administrador de Basis.

    • AWS Región: introduce la AWS región a la que quieres hacer llamadas. Si su SAP sistema 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 SAP credenciales.

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

    • Introduzca el nombre del acuerdo de comunicación creado para establecer la comunicación entre SDK for SAP ABAP - BTP edition y SAP Credential Store.

    • Mantenga en blanco la opción Desactivar IAM funciones.

  • Haga clic con el botón derecho en la tecla de flecha derecha situada junto a la entrada creada para acceder a la pestaña IAMRole Mapping.

    Seleccione Nuevas entradas.

    • Escriba el número de secuencia: 010.

    • Introduzca el IAMrol lógico:TESTUSER.

    • Introduzca el IAMrol ARN: introduzca el arn:aws: del IAM rol que contiene la TranslateReadOnly política creada en el paso anterior.

Paso 5: Autorizar a los usuarios SAP

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

SDK for SAP ABAP

Crea un PFCG rol

  • 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 AWSAPIs: DEMO

      • IAMFunción lógica: TESTUSER

    • Seleccione Guardar.

    • Seleccione Generar.

    • Seleccione Atrás.

    • Seleccione Guardar para guardar el rol.

Asigne el PFCG rol a SAP los usuarios

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

  • Ejecute la transacción SU01.

    • Introduzca el seudónimo del SAP usuario que va a probar la AWS SDK funcionalidad.

    • 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 ABAP entorno 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 SDK sesión, selecciona el icono del lápiz situado junto a SDKPerfil y navega hasta la pestaña Rangos. DEMOIngresa y selecciona Agregar.

    • En Elegir IAM rol lógico, selecciona el icono del lápiz situado junto a IAMRol lógico y navega hasta la pestaña Rangos. Introduzca TESTUSER y seleccione Añadir.

      Selecciona el icono del lápiz situado junto a SDKPerfil 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 SAP empresarial que probará la SDK funcionalidad. Seleccione Guardar.

Cualquier usuario empresarial asignado al rol empresarial creado estará autorizado a utilizar AWS SDK las funciones con los ajustes configurados en el DEMO SDK perfil. El usuario autorizado también asumirá el IAM rol asignado al IAM rol TESTUSER lógico 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 ABAP clase y, a continuación, seleccione Nuevo > ABAPclase.

  2. Introduzca ZCL_DEMO_XL8_SIMPLE el nombre 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.

Para obtener más información sobre cómo escribir ABAP código que utilice elSDK, consulte Uso AWS SDK para SAP ABAP.

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 SAP función le autoriza a usar un SDK perfil y asignarlo a una IAM función lógica mientras sus IAM permisos no están configurados para que el SAP sistema asuma la IAM función, el resultado será el siguiente.

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

En este caso, revise sus IAM permisos y la configuración de confianza en los IAM roles, los usuarios o ambos definidos enPaso 1: Prepara tu cuenta AWS.

SDK for SAP ABAP - BTP edition

Ejecute la aplicación en Eclipse > Ejecutar como > ABAPAplicación (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 SAP función le autoriza a usar un SDK perfil y asignarlo a una IAM función lógica mientras sus IAM permisos no están configurados para que el SAP sistema asuma la IAM función, el resultado será el siguiente.

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

En este caso, revise sus IAM permisos y la configuración de confianza en los IAM roles, los usuarios o ambos definidos enPaso 1: Prepara tu cuenta AWS.