User Tools

Site Tools


abap:modal_screen:modal_screens

Modal screens

Un écran “modal” est une popup : une sous-fenêtre qui empêche l'utilisateur d’interagir avec la fenêtre parente.

L'ABAP ne permet de définir des écrans modaux que sous forme de dynpro, et donc au sein de programmes. Il n'est pas possible d'obtenir un écran modal en orienté objet pur.

Pour construire une popup au sein d'une classe il y a deux solutions :

  • Pour obtenir un véritable écran modal, la seule solution est d'appeler un programme. La solution la plus simple et flexible est donc de créer un module fonction qui contient le dynpro modal. Le MF reçoit la référence de l'objet. Le PAI peut ainsi appeler les méthodes de l'objet pour interagir.
  • La deuxième solution consiste à utiliser la classe cl_gui_dialogbox_container. En revanche, les sous-fenêtres crées ne sont pas modales : il est toujours possible d'interagir avec la fenêtre parente. ATTENTION, l'utilisation de cette classe est très contrainte : si elle n'est pas appelée au sein d'un AT SELECTION-SCREEN OUTPUT, AT SELECTION-SCREEN ON .. ou d'un PAI, elle s'exécute sans erreur mais sans s'afficher.
abap/modal_screen/modal_screens.txt · Last modified: 2016/08/18 18:22 by ginko