Processing Character Strings

Objective

After completing this lesson, you will be able to traiter les chaînes de caractères dans un programme d'application

Fonctions de chaîne de caractères

Traiter chaînes de caractères

Chaînes de traitement

Le symbole de barre verticale peut être utilisé pour définir un modèle de chaîne.

Les modèles de chaîne sont des expressions ABAP du type de résultat Chaîne. Vous pouvez utiliser des modèles de chaîne dans n'importe quelle position d'opérande de lecture, par exemple, le côté droit d'une valorisation.

Un modèle de chaîne commence et se termine par une barre verticale ( | | ). Le modèle de chaîne le plus simple possible ne contient rien d'autre que du texte littéral. Dans cette forme, un modèle de chaîne n'est pas vraiment différent d'un littéral de chaîne.

Ce qui distingue un modèle de chaîne d'un littéral de chaîne est la possibilité d'incorporer des expressions. Une expression intégrée est une expression ABAP entourée d'une paire d'accolades ( { } ). Au moment de l'exécution, ABAP évalue l'expression intégrée et convertit le résultat en chaîne. Dans le résultat, cette chaîne remplace l'expression incorporée (avec les accolades qui l'entourent).

Remarque

La syntaxe ABAP requiert au moins un espace après la parenthèse ouvrante et au moins un espace avant le parenthèse fermante.

Un modèle de chaîne peut contenir plusieurs expressions intégrées.

Dans les accolades, vous pouvez placer n'importe quel type d'expression ABAP : variables, littéraux ou expressions arithmétiques.

Exemples d'utilisation de modèles de chaîne

Chaîne de jointure

L'opérateur && peut être utilisé pour concaténer des chaînes.

Vous pouvez regrouper des zones à l'aide de l'opérateur de concaténation &&. Vous pouvez joindre n'importe quelle combinaison d'objets de données et d'expressions de chaîne.

Les variables ci-dessus (Partie 1 et Partie 2) de l'expression sont jointes sans espace ou autre séparateur entre elles. Si vous avez besoin d'espaces ou d'un autre séparateur ou caractère, n'oubliez pas de l'insérer vous-même dans l'expression, comme illustré dans la figure ci-dessus.

À l'aide de l'exemple de chaîne, les utilisateurs peuvent souhaiter fractionner leur nom complet afin que vous puissiez éditer uniquement le prénom.

Le mot-clé SPLIT peut être utilisé pour fractionner une chaîne à un caractère donné en plusieurs sous-chaînes.

Traiter chaînes de caractères

Scénario de gestion

Vous avez le nom complet d'un client, mais vous devez afficher le prénom. Créez le code ABAP pour fractionner le nom complet en prénom et nom de famille et éditer le prénom dans la console.

Remarque

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

Étapes

  1. Créez la classe ZCL_S4D100_XX_COND dans ZCL_S4D100_XX_CASE.

    1. Développez CLASS ZLCOAL dans l'explorateur de projets.

    2. Cliquez avec le bouton droit de la souris sur le package ZS4D100_XX et sélectionnez Nouvelleclasse ABAP.

    3. Dans Nom, saisissez ZCL_S4D100_XX_CHAR.

    4. Dans Description, saisissez Chaîne de caractères.

    5. Sélectionnez Ajouter pour ajouter l'interface IF_OO_ADT_CLASSRUN.

    6. Cliquez sur OK.

    7. Cliquez sur Next.

    8. Sélectionnez votre ordre de transport et cliquez sur Terminer.

    9. Appuyez sur Activer (Ctrl+F3).

  2. Modifiez le code dans if_oo_adt_classrun~main pour utiliser une instruction CASE plutôt qu'une instruction IF pour vérifier si c_number0 est initial ou non.

    1. Implémentez la méthode IF_OO_ADT_CLASSRUN~MAIN. avec le code suivant :

      Code Snippet
      1234567
      DATA: lv_full_name TYPE string VALUE 'Stan Wilson', lv_first_name TYPE string, lv_last_name TYPE string. SPLIT lv_full_name AT '' INTO lv_first_name lv_last_name. out->write( |user { lv_first_name }| ).
  3. Activez et testez le programme.

    1. Appuyez sur Activer (Ctrl+F3).

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

    S'entraîner