Le code ci-après récupère la HAUTEUR réellement utilisée dans un conteneur (de son ALV dans ton cas; tu peux l'adapter en utilisant width à la place de height ):
go_container->set_metric( metric = cl_gui_container=>metric_pixel ).
go_container->set_mode( mode = cl_gui_splitter_container=>mode_absolute ).
DATA l_height TYPE i.
go_container->get_height( IMPORTING height = l_height ).
CALL METHOD cl_gui_cfw=>flush( ).
IMPORTANT: la variable n'est initialisée que lorsque les données sont flushées vers SAPGUI (on récupère donc la valeur juste après appel de CL_GUI_CFW=>FLUSH).
Remarque: une autre solution est de ne pas faire de flush, celui-ci étant fait implicitement à l'affichage (à la fin du PBO donc), mais il faut appeler get_height en indiquant une variable globale, dont on pourra récupérer la valeur dans le PAI (si on utilise une variable locale, ça fera un dump SYSTEM_POINTER_PENDING "Use of local result variables in a Control/Automation call"). |