====== 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. ===== Modal screen et classe ABAP ===== 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.