Developing your First ABAP Application

Objective

After completing this lesson, you will be able to expliquer le langage ABAP au niveau de base

Création d'un code ABAP simple dans les outils de développement ABAP

Création d'une application Hello World

La principale technologie d'interface utilisateur que vous utiliserez dans la programmation ABAP moderne est SAP Fiori. Cependant, les outils de développement ABAP (ADT) fournissent une console qui vous permet de créer des sorties rapidement et simplement dans les applications de test.

Pour plus d'informations sur SAP Fiori, voir Learning Journey Learning the Basics of SAP Fiori à l'adresse http://learning.sap.com.
  1. Écrivez votre code ABAP dans une classe et sélectionnez FichierNouvelleclasse ABAP.
  2. Une boîte de dialogue apparaît dans laquelle vous vérifiez que le projet est correct.
  3. Saisissez le nom du package que vous avez déjà créé.
  4. Saisissez un nom pour votre classe, en gardant à l'esprit de commencer par Z ou Y. Il peut comporter jusqu'à 30 caractères et lettres de A à Z, les chiffres 0 à 9 et le symbole de soulignement.
  5. Sélectionnez l'option Ajouter pour ajouter une interface à une classe (dans notre exemple, IF_OO_ADT_CLASSRUN) pour autoriser la sortie dans la console.
  6. Utilisez la zone Filtre pour limiter le nombre d'entrées dans la liste.
  7. Double-cliquez sur l'interface (IF_OO_ADT_CLASSRUN).
  8. La nouvelle interface apparaît Lorsque vous revenez à la boîte de dialogue Classe ABAP.
  9. Cliquez sur Next.
  10. Affectez ensuite la classe à un ordre de transport.
  11. Sous Sélectionner parmi les ordres dans lesquels vous êtes impliqué, marquez la demande que vous avez utilisée pour créer votre package.
  12. Sélectionnez Terminer.
Capture d'écran d'une classe ABAP nouvellement créée affichant le code source initial

L'interface IF_OO_ADT_CLASSRUN vous permet d'exécuter une classe dans les outils de développement ABAP (ADT) à l'aide de la clé F9. Dans ce cas, le système exécute le code entre METHOD if_oo_adt_classrun~main et ENDMETHOD. Dans ce bloc de code, vous pouvez éditer des informations dans la console ADT.

Capture d'écran d'un code ABAP imprimant Hello World sur la console

Dans votre bloc de code, vous pouvez utiliser out->write( ) pour afficher des informations dans la console. La ligne

Code Snippet
1
out->write( "Hello World" ).
imprime "Hello World" sur la console. Fondamentalement, vous n'avez pas besoin de savoir à ce stade comment cela fonctionne; il vous suffit de taper le code, en veillant à ce que :

  • Il n'y a pas d'espace entre l'écriture et la parenthèse ouvrante.
  • Il y a au moins un espace après la parenthèse ouvrante.
  • Il y a au moins un espace avant la parenthèse fermante.
  • Il existe une période à la fin de la ligne.
Capture d'écran du symbole d'erreur en regard d'une erreur de syntaxe dans la vue de l'éditeur de code source et de la description de l'erreur dans la vue Problèmes

ABAP Development Tools for SAP NetWeaver contrôle votre code au fur et à mesure et signale les erreurs dans la marge gauche de l'éditeur avec une croix blanche sur fond rouge.

Vous pouvez voir les messages d'erreur correspondants dans la vue Problèmes sous l'éditeur. ABAP Development Tools for SAP NetWeaver affiche également le même message qu'une fenêtre pop-up lorsque vous passez la souris sur le symbole d'erreur dans l'éditeur.

Si vous cliquez sur le bouton Activer, la version du code source passe de Inactif à Actif.

Pour exécuter un objet ABAP, vous devez l'activer. L'activation de l'objet contrôle la syntaxe, sauvegarde l'objet et génère une version d'exécution de l'objet. En cas d'erreur de syntaxe, l'objet ne sera pas activé. Pour activer un objet, cliquez sur l'icône Activer dans la barre d'outils ou utilisez le raccourci clavier Ctrl + F3 (de votre clavier). Vous pouvez voir si un objet est actif ou non en regardant dans la vue Propriétés, qui se trouve généralement dans l'onglet sous l'éditeur ABAP.

Capture d'écran du menu contextuel avec le bouton Exécuter en tant qu'application ABAP après avoir cliqué avec le bouton droit de la souris sur le code source à côté d'une capture d'écran du message de sortie Hello World dans la vue Console

Pour exécuter la classe, sélectionnez F9 sur votre clavier ou cliquez avec le bouton droit de la souris dans l'éditeur, puis sélectionnez Exécuter en tant qu'application ABAP (console). La sortie, "Hello World", apparaît dans la console. Si vous ne voyez pas la vue de la console, sélectionnez FenêtreAfficher vueAutre..., puis sélectionnez la vue Console.

Utilisation de l'éditeur Eclipse

Voici quelques fonctions clés importantes lors de l'écriture de code dans l'éditeur ABAP.

Fonctions clés dans l'éditeur ABAP

BoutonCommande clavierDescription
CTRL + SSauvegarder
CTRL + F2Vérifier la syntaxe
CTRL + F3Activer
F9Application ABAP (console)

Créer une application Hello World

Scénario de gestion

Vous êtes programmeur pour un client SAP et travaillez avec les nouveaux outils de développement ABAP. Vous souhaitez créer une classe ABAP dans Eclipse, puis l'activer et l'exécuter en tant qu'application ABAP.

Nous affecterons cette classe au package créé précédemment. Laissez la classe implémenter l'interface IF_OO_ADT_CLASSRUN afin de pouvoir utiliser la classe comme programme principal pour une application de console Eclipse.

Remarque

Dans cet exercice, XX fait référence à votre numéro.

Étapes

  1. Dans votre package créé précédemment, créez une nouvelle classe ABAP avec le nom ZCL_XX_HELLO_WORLD. Assurez-vous qu'il utilise l'interface IF_OO_ADT_CLASSRUN. Lorsque vous êtes invité à affecter la classe à un ordre de transport, utilisez l'ordre de transport que vous avez créé dans l'exercice précédent.

    1. Sélectionnez FichierNouveauClasse ABAP.

    2. Saisissez votre package ZS4D100_XX, où XX est votre numéro. 

    3. Saisissez le nom ZCL_XX_HELLO_WORLD, où XX est votre numéro, et saisissez une description pour votre classe.

    4.  Sélectionnez Ajouter... (en regard du cadre Interfaces).

    5. Saisissez le texte de filtre IF_OO_ADT_CLASSRUN. Double-cliquez sur l'entrée correspondante dans la liste des occurrences.

    6. Cliquez sur Next.

    7. Sélectionnez Sélectionner parmi les ordres dans lesquels je suis impliqué et votre propre ordre de transport.

    8. Sélectionnez Terminer.

  2. Dans la méthode if_oo_adt_classrun~main( ), utilisez out->write( ) pour éditer la phrase type Hello World.

    1. Dans l'éditeur, saisissez le codage suivant entre METHOD if_oo_adt_classrun~main et ENDMETHOD : out->write( | Hello World | ).

  3. Activez et testez votre classe.

    1. Cliquez sur Activer (Ctrl-F3).

    2. Appuyez sur F9 pour exécuter la classe.

  4. Vérifiez le résultat dans la vue Console d'Eclipse.

    1. Vérifiez la vue Console qui aurait dû s'ouvrir en tant que nouvel onglet sous la vue de l'éditeur.

    2. Si la vue Console n'est pas visible, ouvrez-la en sélectionnant FenêtreAfficher vueAutres. Double-cliquez sur Console dans la liste des occurrences.

      Code Snippet
      12345678910111213141516
      " Full Solution Code CLASS zcl_s4d100_hello_world_sol DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES IF_OO_ADT_CLASSRUN. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zcl_s4d100_hello_world_sol IMPLEMENTATION. METHOD if_oo_adt_classrun~main. out->write( | Hello World! | ). ENDMETHOD. ENDCLASS.

      S'entraîner