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 :
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.