Commencer avec AWS SDK pour SAP ABAP - AWS SDKpour SAP ABAP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commencer avec AWS SDK pour SAP ABAP

Cette section décrit comment démarrer avec leSDK. Il inclut des informations sur l'installationSDK, la configuration de base et la création d'un exemple de code Hello World qui traduit une phrase d'une langue à l'autre. Si vous débutez dans ce domaine AWS SDK, nous vous recommandons d'effectuer ces étapes dans un environnement sandbox.

Étape 1 : Préparez votre AWS compte

Pour commencer avec SDK for SAPABAP, vous devez avoir un actif Compte AWS . Vous en avez besoin Compte AWS même si votre SAP système est hébergé sur site, sur SAP Business Technology Platform (BTP) ou auprès d'un autre fournisseur de cloud.

Si votre SAP système fonctionne sur le AWS cloud, vous passerez des appels aux AWS services de votre Compte AWS.

IAMrôle pour les SAP utilisateurs

  • Créez un IAM rôle en suivant les instructions fournies dans le guide de AWS Identity and Access Management l'utilisateur. Pour plus d'informations, consultez la section Création d'un rôle pour déléguer des autorisations à un AWS service. Notez le nom de ressource Amazon (ARN) du IAM rôle pour une utilisation ultérieure.

  • Sélectionnez Amazon EC2 comme cas d'utilisation.

  • À utiliser SapDemoTranslate comme nom du rôle.

  • Attachez un TranslateReadOnly profil au rôle.

  • Le rôle doit comporter les entités suivantes pour que le SAP système puisse assumer le rôle. Remplacez "111122223333" par votre numéro de compte AWS .

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

    Cet exemple montre que n'importe quel directeur du Compte AWS "111122223333" peut assumer le rôle. Il s'agit d'une autorisation large qui convient à proof-of-concept. Vous pouvez utiliser un principe plus restreint pour la production, comme dans les exemples suivants.

    • Un utilisateur spécifique, lorsque le SAP système utilise l'une des méthodes suivantes :

      • SSF-informations d'identification cryptées provenant d'un système sur site SAP

      • Informations d'SAPidentification provenant du service Credential Store activé SAPBTP, environnement ABAP

    • Un rôle spécifique, lorsque le SAP système est sur Amazon EC2 et qu'il existe un profil d'instance.

    • Amazon EC2 : lorsque le SAP système est sur Amazon EC2 et qu'il n'existe aucun profil d'instance.

Pour plus d'informations, consultez la section Meilleures pratiques en matière IAM de sécurité.

Authentification

L'authentification dépend de l'endroit où votre SAP système est hébergé.

Sur le AWS cloud

Assurez-vous que l'EC2instance sur laquelle votre SAP système est exécuté possède un profil d'instance doté des autorisations suivantes.

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

Ajoutez ARN ce que vous avez noté à l'étape précédente.

Cette autorisation permet à votre SAP système d'assumer le SapDemoTranslate rôle au nom de l'ABAPutilisateur.

Sur site SAP BTP ou dans un autre cloud

Si votre SAP système est situé sur site, sur SAP BTP ou sur un autre cloud, suivez les étapes ci-dessous pour établir une connexion à des fins d'authentification à l'aide d'une clé d'accès secrète.

  1. Créez un utilisateur IAM. Pour plus d'informations, consultez la section Création d'IAMutilisateurs (console).

  2. À utiliser SapDemoSID comme nom d'IAMutilisateur. SIDest l'ID système de votre SAP système.

  3. Attribuez SapDemoTranslate un rôle à cet utilisateur.

Conservez le access_key terrainsecret_access_key. Vous devez configurer ces informations d'identification dans votre SAP système.

Note

Si votre SAP système est situé sur site, sur SAP BTP ou sur un autre cloud, vous pouvez vous authentifier à l'aide de l'une des options suivantes.

Étape 2 : Installation d'SDK

Consultez les onglets suivants pour les instructions d'installation.

SDK for SAP ABAP

Importez SDK pour SAP ABAP les transports dans votre SAP système. Vous pouvez importer les transports dans n'importe quel client. Pour plus d'informations, consultez la section Installation SDK pour SAP ABAP.

SDK for SAP ABAP - BTP edition

Installez SDK pour l'SAPABAPBTPédition à l'aide de l'application Deploy Product. Pour plus d'informations, consultez la section Installation SDK pour SAP ABAP - BTP édition.

Étape 3 : Configuration du SDK

Avant de configurer leSDK, assurez-vous que vous disposez des autorisations requises. Pour plus d'informations, consultez la section SAPAutorisations.

Consultez les onglets suivants pour obtenir des instructions de configuration.

SDK for SAP ABAP

Exécutez la /AWS1/IMG transaction pour ouvrir le guide d'implémentation de SDK for SAPABAP. Pour exécuter cette transaction, entrez /n/AWS1/IMG dans la barre de commandes de votre SAP système, puis choisissez Entrée.

Effectuez les configurations suivantes.

  • Accédez aux prérequis techniques.

  • Accédez à Paramètres générauxConfigurer les scénarios.

  • Accédez à Paramètres générauxParamètres techniques.

  • Accédez à Paramètres d'exécutionLog and Trace.

    • Sélectionnez Nouvelles entrées.

      • Niveau de trace : aucune trace.

      • Nombre maximum de lignes de vidange :100.

      • OPT-IN : enh télémétrie : laissez ce champ vide.

    • Sélectionnez Save.

  • Accédez à Paramètres d'exécutionScénario actif.

    • Sous Nouveau scénario, sélectionnezDEFAULT.

    • Sélectionnez Valider le changement de scénario.

    • Acceptez l'invite.

Conditions préalables pour les systèmes sur site

Si votre SAP système fonctionne sur site ou dans un autre cloud, les informations d'identification doivent être stockées dans votre SAP base de données. Les informations d'identification sont cryptées à l'aide SAP SSF d'une bibliothèque cryptographique configurée, telle SAP que CommonCryptoLib

Les étapes de configuration SSF de SDK for SAP ABAP sont décrites dans la /AWS1/IMG transaction.

Note

La condition préalable précédente ne s'applique pas si votre SAP système fonctionne sur AmazonEC2. SAPles systèmes exécutés sur Amazon EC2 récupèrent les informations d'identification de courte durée qui changent automatiquement à partir des métadonnées de l'EC2instance Amazon.

SDK for SAP ABAP - BTP edition

Ouvrez votre ABAP environnement dans un navigateur Web et accédez à l'application Configurations commerciales personnalisées.

Effectuez les configurations suivantes.

  • Accédez à Configurer les scénarios.

  • Accédez aux paramètres techniques.

Étape 4 : Configuration fonctionnelle

Consultez les onglets suivants pour les instructions de configuration.

SDK for SAP ABAP

Exécutez la transaction /AWS1/IMG (entrez /n/AWS1/IMG dans la barre de commandes, puis choisissez Entrée) pour ouvrir le guide d'implémentation de AWS SDK.

  • Accédez à Configuration de l'applicationSDKProfil.

    • Sélectionnez Nouvelles entrées.

      • Profil :DEMO.

      • Description :Demo profile.

      • Sélectionnez Save.

  • Mettez en surbrillance l'entrée que vous avez créée et cliquez sur la branche de l'arborescence Authentification et paramètres.

    • Sélectionnez Nouvelles entrées.

      • SID: ID système du SAP système dans lequel vous vous trouvez actuellement.

      • Client : client du SAP système dans lequel vous vous trouvez actuellement.

      • ID du scénario : liste déroulante dans laquelle vous trouverez le DEFAULT scénario créé par votre administrateur Basis.

      • AWS Région : entrez la AWS région vers laquelle vous souhaitez passer des appels. Si votre SAP système fonctionne AWS, entrez la AWS région dans laquelle il s'exécute.

      • Méthode d'authentification :

        • Sélectionnez Instance Role via Metadata si votre SAP système fonctionne sur AmazonEC2.

        • Sélectionnez Credentials from SSF Storage si votre SAP système fonctionne sur site ou dans un autre cloud.

          • Sélectionnez Définir les informations d'identification.

          • Entrez l'ID de clé d'accès et la clé d'accès secrète que vous avez créés à l'étape précédente.

    • Laissez le champ Désactiver IAM les rôles vide.

    • Sélectionnez Save.

  • Cliquez sur la branche de l'arbre IAMRole Mapping.

    • Sélectionnez Nouvelles entrées.

      • Entrez le numéro de séquence : 010.

      • Entrez le IAMrôle logique :TESTUSER.

      • Entrez le IAMrôle ARN : entrez le arn:aws : du IAM rôle contenant la TranslateReadOnly politique créée à l'étape précédente.

SDK for SAP ABAP - BTP edition

Configurez l'authentification à l'aide de SAP Credential Store. Pour plus d'informations, consultez la section Utilisation de SAP Credential Store.

Ouvrez votre ABAP environnement dans un navigateur Web et accédez à l'application Configurations commerciales personnalisées.

  • Accédez au SDKprofil.

    • Sélectionnez Modifier pour créer un nouveau profil.

      • Profil :DEMO.

      • Description :Demo profile.

  • Sélectionnez la flèche droite à côté de l'entrée créée pour accéder à l'onglet Authentification et paramètres.

    Sélectionnez Nouvelles entrées.

    • SID: ID système du SAP système dans lequel vous vous trouvez actuellement.

    • Client : client du SAP système dans lequel vous vous trouvez actuellement.

    • ID du scénario : liste déroulante dans laquelle vous trouverez le DEFAULT scénario créé par votre administrateur Basis.

    • AWS Région : entrez la AWS région vers laquelle vous souhaitez passer des appels. Si votre SAP système fonctionne AWS, entrez la AWS région dans laquelle il s'exécute.

    • Méthode d'authentification : sélectionnez les informations d'identification dans le magasin d'SAPinformations d'identification.

    • Entrez l'espace de noms et le nom clé des informations d'identification stockées dans SAP Credentials Store.

    • Entrez le nom de l'arrangement de communication créé pour établir la communication entre SDK for SAP ABAP - BTP edition et SAP Credential Store.

    • Laissez le champ Désactiver IAM les rôles vide.

  • Cliquez avec le bouton droit sur la flèche droite à côté de l'entrée créée pour accéder à l'onglet IAMRole Mapping.

    Sélectionnez Nouvelles entrées.

    • Entrez le numéro de séquence : 010.

    • Entrez le IAMrôle logique :TESTUSER.

    • Entrez le IAMrôle ARN : entrez le arn:aws : du IAM rôle contenant la TranslateReadOnly politique créée à l'étape précédente.

Étape 5 : Autoriser SAP les utilisateurs

SAPles utilisateurs ne sont pas autorisés à utiliser AWS les fonctionnalités par défaut. Les utilisateurs doivent être explicitement autorisés à l'aide d'SAPautorisations. Consultez les onglets suivants pour plus de détails.

SDK for SAP ABAP

Création d'un PFCG rôle

  • Accéder à la transaction PFCG

  • Entrez le nom du rôle ZAWS_SDK_DEMO_TESTUSER et sélectionnez Créer un rôle unique.

    • Description :Role for demo AWS SDK functionality.

    • Accédez à l'onglet Autorisations.

    • Sélectionnez Modifier les données d'autorisation et acceptez la fenêtre contextuelle d'information.

    • Dans la fenêtre contextuelle Choisir un modèle, sélectionnez Ne pas sélectionner de modèles.

    • Sélectionnez Ajouter manuellement dans la barre d'outils.

    • Ajoutez les objets d'autorisation suivants :

      • /AWS1/LROL

      • /AWS1/SESS

    • Dans l'arbre d'autorisation, entrez :

      • Profil pour accéder à AWS APIs : DEMO

      • IAMRôle logique : TESTUSER

    • Sélectionnez Save.

    • Sélectionnez Générer.

    • Sélectionnez Retour.

    • Sélectionnez Enregistrer pour enregistrer le rôle.

Attribuer le PFCG rôle aux SAP utilisateurs

Tout utilisateur auquel le ZAWS_SDK_DEMO_TESTUSER rôle est attribué sera autorisé à utiliser AWS SDK les fonctions avec les paramètres configurés dans le DEMO SDK profil. L'utilisateur autorisé assumera également le IAM rôle mappé au IAM rôle TESTUSER logique dans ce profil.

  • Exécutez la transactionSU01.

    • Entrez le nom d'utilisateur de SAP l'utilisateur qui testera les AWS SDK fonctionnalités.

    • Sélectionnez Modifier.

    • Accédez à l'onglet Rôles et attribuez ZAWS_SDK_DEMO_TESTUSER un rôle à l'utilisateur.

    • Sélectionnez Save.

SDK for SAP ABAP - BTP edition

Création d'un rôle professionnel

  • Ouvrez votre ABAP environnement dans un navigateur Web et accédez à l'application Maintain Business Roles.

  • Sélectionnez Créer à partir d'un modèle, puis entrez les informations suivantes.

    • Modèle — Choisissez/AWS1/RT_BTP_ENDUSER.

    • Nouvel identifiant de rôle professionnel — Entrez un identifiant.

    • Description du nouveau rôle commercial — Entrez une description.

  • Cliquez sur OK pour afficher la page correspondant au rôle professionnel.

  • Sous l'onglet Détails généraux du rôle, accédez aux catégories d'accès et définissez le champ d'aide à l'écriture, à la lecture et à la valeur sur Restreint.

  • Sélectionnez Conserver les restrictions, puis développez les types de restrictions assignés dans le volet de navigation de gauche. Mettez à jour le champ suivant dans la section Restrictions et valeurs.

    • Sous Choisir une SDK session, sélectionnez l'icône en forme de crayon à côté SDKde Profil, puis accédez à l'onglet Plages. EntrezDEMO, puis sélectionnez Ajouter.

    • Sous Choisir IAM un rôle logique, sélectionnez l'icône en forme de crayon à côté de IAMRôle logique et accédez à l'onglet Plages. EntrezTESTUSER, puis sélectionnez Ajouter.

      Sélectionnez l'icône en forme de crayon à côté SDKde Profil, puis accédez à l'onglet Plages. Entrez DEMO et sélectionnez Ajouter

  • Revenez au modèle de rôle professionnel et ouvrez l'onglet Utilisateurs professionnels. Sélectionnez Ajouter pour attribuer le rôle professionnel nouvellement créé à un utilisateur SAP professionnel qui testera la SDK fonctionnalité. Sélectionnez Save.

Tout utilisateur professionnel affecté au rôle professionnel créé sera autorisé à utiliser les AWS SDK fonctions avec les paramètres configurés dans le DEMO SDK profil. L'utilisateur autorisé assumera également le IAM rôle mappé au IAM rôle TESTUSER logique dans ce profil.

Étape 6 : Écrire le code

Consultez les onglets suivants pour plus de détails.

SDK for SAP ABAP
  1. Transaction ouverteSE38.

    • Entrez ZDEMO_TRANSLATE_HELLO_WORLD comme nom du programme.

    • Sélectionnez Create.

    • Entrez AWS SDK Hello World In Any Language comme titre.

    • Type : choisissez Programme exécutable.

    • État : choisissez Programme de test.

    • Sélectionnez Save.

    • Enregistrez le programme en tant qu'objet local.

Ajoutez le code suivant.

*&---------------------------------------------------------------------* *& 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. Cliquez avec le bouton droit sur le package dans lequel la ABAP classe doit être créée, puis sélectionnez Nouveau > ABAPclasse.

  2. Entrez le nom ZCL_DEMO_XL8_SIMPLE de la classe et ajoutez une description de la classe. Sélectionnez Suivant.

  3. Créez ou choisissez une demande de transport. Sélectionnez Terminer.

Ajoutez le code suivant.

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.

Pour plus de détails sur la façon d'écrire ABAP du code utilisant leSDK, consultez la section Utilisation AWS SDK pour SAP ABAP.

Étape 7 : Exécutez l'application

Consultez les onglets suivants pour plus de détails.

SDK for SAP ABAP

Exécutez l'application dansSE38. En cas de succès, voici votre résultat.

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

S'il vous manque des autorisations, une configuration ou des prérequis de base, un message d'erreur peut s'afficher. Consultez l'exemple suivant.

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

Si votre SAP rôle vous autorise à utiliser un SDK profil et à le mapper à un IAM rôle logique alors que vos IAM autorisations ne sont pas configurées pour que le SAP système assume le IAM rôle, voici votre résultat.

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

Dans ce cas, passez en revue vos IAM autorisations et votre configuration de confiance sur les IAM rôles, les utilisateurs ou les deux définis dansÉtape 1 : Préparez votre AWS compte.

SDK for SAP ABAP - BTP edition

Exécutez l'application sur Eclipse > Exécuter en tant que > ABAPApplication (console). En cas de succès, voici votre résultat.

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

S'il vous manque des autorisations, une configuration ou des prérequis de base, un message d'erreur peut s'afficher. Consultez l'exemple suivant.

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

Si votre SAP rôle vous autorise à utiliser un SDK profil et à le mapper à un IAM rôle logique alors que vos IAM autorisations ne sont pas configurées pour que le SAP système assume le IAM rôle, voici votre résultat.

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

Dans ce cas, passez en revue vos IAM autorisations et votre configuration de confiance sur les IAM rôles, les utilisateurs ou les deux définis dansÉtape 1 : Préparez votre AWS compte.