PF-STATUS лучше делать не с нуля, а в транзакции SE41 скопировать из программы SAPLSLVC_FULLSCREEN статус STANDARD_FULLSCREEN, чтобы иметь на тулбаре все стандартные кнопки грида.
После того как статус создан можно писать код.
ПРИМЕР:
В скопированный GUI-STATUS добавил кнопку
* сохраняем в перемнную имя программы
lv_repid = sy-repid.
* вызывавем ФМ, указываем в нем названия форм которые
* устанавливают pf-status и обрабатывают команды
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = lv_repid
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_TITLE = 'Отчет по планированию доходов'
IT_FIELDCAT_LVC = lt_fcat
TABLES
T_OUTTAB = it_plantab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
* устанавливаем PF-STATUS
FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'GUI_ALVGRIDX'.
ENDFORM.
* обрабатываем команды
FORM USER_COMMAND USING p_ucomm LIKE sy-ucomm
ps_selfield TYPE slis_selfield.
CASE p_ucomm.
WHEN 'PXLS'.
" выполняем что-то крайне важное
ENDCASE.
ENDFORM.
*--------------------------------------------------------------*