Introduction
Application des techniques et concepts de base
Utilisation des classes locales
Lecture des données de la base de données
Utilisation d'objets de données structurés
Utilisation de tables internes complexes
Implémentation de mises à jour de base de données à l'aide d'objets de gestion
Description du modèle de programmation d'applications ABAP RESTful

Amélioration de l'expérience utilisateur

Objectives

After completing this lesson, you will be able to:
  • Organisez les champs dans l'application.
  • Fournissez une aide à la saisie.

Ajustement IU

Dans cette section, vous allez apprendre à piloter les propriétés de zone dans la définition de comportement et à ajuster l'interface utilisateur dans l'extension de métadonnées.

Organisation des zones dans l'interface utilisateur

Rendre les champs en lecture seule

Une fois que vous avez mis les zones en lecture seule, vous pouvez voir qu'il est judicieux de les réorganiser. Pour ce faire, annotez les zones correspondantes de la projection. Le plus souvent, vous effectuez cette opération dans une extension de métadonnées.

Les extensions de métadonnées sont des objets de référentiel autonomes qui contiennent les annotations appartenant à une entité CDS particulière. L'idée qui les sous-tend est de faciliter la compréhension à la fois de la définition de l'entité CDS et des annotations en les séparant. Sinon, la définition CDS deviendrait très longue et difficile à lire.

Si vous voulez utiliser une extension de métadonnées conjointement avec une vue CDS, la vue CDS doit contenir l'annotation @Metadata.allowExtensions: true. Le générateur s'en occupe pour vous et génère automatiquement une extension de métadonnées pour la vue de projection et l'annotation correspondante dans la vue de projection elle-même.

Il existe deux annotations IU importantes que vous devrez peut-être modifier dans l'extension de métadonnées. Le premier est @UI.LineItem. Il s'agit d'un tableau dans lequel vous définissez la position de l'attribut. Cela détermine la position de la colonne dans la page de liste des rapports de l'application.

La deuxième annotation est @UI.identification. Il s'agit là encore d'un tableau dans lequel vous définissez également la position de l'attribut. Cela détermine la position de la zone dans la page d'objet individuelle qui est affichée lors de l'opération de création ou de mise à jour.

Réorganisation des zones

Comment piloter les propriétés de zone

Aide à la saisie

Dans cette section, nous allons découvrir comment fournir une aide à la saisie aux utilisateurs. Regardez cette vidéo pour en savoir plus.

Ajuster l'interface utilisateur

Dans cet exercice, vous allez explorer l'aide à la saisie fournie dans l'application. En outre, vous ajusterez l'interface utilisateur de l'application générée : soit directement en modifiant les métadonnées de l'interface utilisateur, soit indirectement en ajustant le comportement de l'objet de gestion.

Modèle :

  • Aucune

Solution :

  • /LRN/S4D400_C_FLIGHT (projection de comportement)
  • /LRN/S4D400_C_FLIGHT (extension de métadonnées)

Conditions requises

Vous avez terminé les exercices précédents. Vous avez créé et renseigné la table de base de données Z##FLIGHT (où ## est votre numéro de groupe) et généré les objets de développement pour un service IU OData.

Tâche 1: Analyser l'aide à la saisie

Vérifiez qu'une aide à la saisie est proposée pour la zone Devise sur la page d'objet. Examinez où et comment cette aide à la saisie est définie.

Étapes

  1. Lancez l'aperçu du service IU OData.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  2. Ouvrez la page d'objet d'un vol en mode de modification.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  3. Vérifiez qu'une aide à la saisie est disponible pour la zone Devise.

    1. Ouvrez l'aide à la saisie pour la zone Devise affichée pour le prix du vol.

  4. Revenez à l'environnement de développement et explorez la définition de l'aide à la saisie.

Tâche 2: Ajuster le comportement

Excluez les opérations standard créer et supprimer, puis définissez la zone PlaneTypeID en lecture seule.

Remarque

Ces modifications doivent s'appliquer uniquement à votre service d'IU OData. L'objet de gestion lui-même doit toujours prendre en charge la création et la suppression de vols, ainsi que la modification du type d'avion.

Étapes

  1. Dans la projection de comportement pour votre service, désactivez les opérations standard Créer et Supprimer.

    1. Ouvrez la projection de comportement ZC_##FLIGHT (où ## est votre numéro de groupe).

    2. Ajoutez des marqueurs de commentaire devant les énoncés use create; et use delete;.

      Pour ajouter les marqueurs de commentaire, procédez comme d'habitude : sélectionnez les lignes de code que vous souhaitez commenter et appuyez sur Ctrl + <.

      Votre code doit alors ressembler à ceci :

      Code Snippet
      123
      // use create; use update; // use delete;

  2. Dans la projection de comportement de votre objet de gestion, définissez la zone PlaneTypeID en lecture seule.

    1. Dans la projection de comportement, ajoutez le code suivant :

      Code Snippet
      1
      field ( readonly ) PlaneTypeID;

      Remarque

      La position précise de l'énoncé n'est pas importante. Nous vous suggérons de le placer avant l'utilisation... instructions.
  3. Activez la projection de comportement.

    1. Appuyez sur Ctrl + F3 pour activer la projection de comportement.

Tâche 3: Ajuster les métadonnées de l'IU

Masquez les zones administratives de l'interface utilisateur. Assurez-vous que seuls CarrierID et ConnectionID sont affichés comme zones de sélection sur la page de liste du programme. Modifiez la séquence de zones sur la page d'objet de sorte que PlaneTypeID soit affiché avant Price.

Étapes

  1. Modifiez l'extension de métadonnées de la vue de projection ZC_##Vol. Supprimez toutes les annotations d'interface utilisateur pour les zones LocalCreatedBy, LocalCreatedAt, LocalLastChangedBy, LocalLastChangedAt et LastChangedAt et remplacez-les par @UI.hide: true.

    1. Ouvrez l'extension de métadonnées ZC_##FLIGHT, où ## est votre numéro de groupe.

    2. Adaptez le code comme suit :

      Code Snippet
      1234567891011121314
      @UI.hidden: true LocalCreatedBy; @UI.hidden: true LocalCreatedAt; @UI.hidden: true LocalLastChangedBy; @UI.hidden: true LocalLastChangedAt; @UI.hidden: true LastChangedAt;
  2. Supprimez l'annotation @UI.selectionField pour tous les éléments, à l'exception des éléments CarrierID et ConnectionID.

    1. Adaptez le code comme suit :

      Code Snippet
      1234567891011121314151617181920212223
      @UI.identification: [ { position: 30 } ] @UI.lineItem: [ { position: 30 } ] FlightDate; @UI.identification: [ { position: 40 } ] @UI.lineItem: [ { position: 40 } ] Price; @UI.identification: [ { position: 50 } ] @UI.lineItem: [ { position: 50 } ] PlaneTypeID;
  3. Modifiez la position de la zone PlaneTypeID sur la page d'objet. Placez-le entre FlightDate et Price.

    Astuce

    La position sur la page d'objet est indiquée avec l'annotation @UI.identification.
    1. Modifiez la valeur de l'annotation @UI.identification: [ { position: } ] pour l'élément PlaneTypeID. Sélectionnez une valeur comprise entre les valeurs des éléments FlightDate et Price.

    2. Adaptez le code comme suit :

      Code Snippet
      1234567
      @UI.identification: [ { position: 35 } ] @UI.lineItem: [ { position: 50 } ] PlaneTypeID;
  4. Activez l'extension de métadonnées.

    1. Appuyez sur Ctrl + F3 pour activer l'extension de métadonnées.

Tâche 4: Vérifier le résultat

Relancez l'aperçu du service IU OData et vérifiez les modifications apportées à l'interface utilisateur.

Étapes

  1. Relancez l'aperçu du service IU OData.

    1. Fermez la fenêtre ou l'onglet du navigateur qui contient l'aperçu.

    2. Ouvrez la liaison de service ZUI_##FLIGHT_O4. Dans la liste Ensemble d'entités et association à droite, sélectionnez d'abord l'entrée Vol, puis Aperçu....

  2. Sur la page Liste des notes de frais, vérifiez que les boutons Créer et Supprimer ont disparu.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  3. Assurez-vous qu'aucune autre zone administrative n'est affichée sur la page Liste des notes de frais.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  4. Vérifiez que, outre le champ Statut de modification, seuls deux champs de sélection sont visibles en haut de la page Liste des notes de frais. Testez leur fonctionnalité.

    Astuce

    Notez que les zones de sélection prennent en charge la saisie de plusieurs valeurs et plages.
    1. Saisissez une valeur dans la zone de sélection Airline ID (par exemple : LH) et cliquez sur Lancer.

    2. Répétez l'opération avec d'autres valeurs.

  5. Pour tout ensemble de données, accédez à la page d'objet. Vérifiez que le bouton Supprimer a disparu.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  6. Assurez-vous qu'aucune autre zone administrative n'est affichée sur la page d'objet.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  7. Vérifiez que le champ Type d'avion est affiché après le champ Date du vol et avant le champ Prix du vol.

    1. Procédez comme vous l'avez fait dans les exercices précédents.

  8. Passez en mode de modification et vérifiez que la valeur de la zone Type d'avion ne peut pas être modifiée.

    1. Procédez comme vous l'avez fait dans les exercices précédents.