Para pegar um PF-STATUS como exemplo, da para copiar o PF-STATUS "STANDARD" do Grupo de Funções SALV.
Depois de copiado e feito as alterações, é necessário alterar a chamada do seu ALV para que o programa chame o seu PF-STATUS customizado.
Abaixo o exemplo de código:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
is_layout = lw_layout
it_fieldcat = tg_fieldcat
i_callback_pf_status_set = 'F_PF_STATUS_DET'
i_callback_user_command = 'ALV_USER_COMMAND'
i_save = 'A'
it_sort = lt_sort
is_variant = lw_variant
TABLES
t_outtab = tg_saida
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
No parâmetro i_callback_pf_status_set você passa o nome do FORM em que irá setar o PF-STATUS customizado, conforme exemplo abaixo:
FORM f_pf_status_det USING ft_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD_DET' EXCLUDING ft_extab.
ENDFORM. " F_PF_STATUS
Fazendo isso o ALV irá apresentar o PF-STATUS alterado por você.
Um outro ponto que deve ser considerado fazendo está alteração é o tratamento do user command que deve ser alterado também caso tenha adicionado um novo botão. Para isso existe o parâmetro i_callback_user_command, no qual você deve passar o FORM em que será tratado a ação que o programa deverá tomar apos o seu novo botão ser clicado.
FORM alv_user_command USING f_ucomm LIKE sy-ucomm "#EC CALLED
fw_selfield TYPE slis_selfield. "#EC NEEDED
CASE f_ucomm.
WHEN 'BOTAO1'.
PERFORM form1.
WHEN 'BOTAO2'.
PERFORM form2.
WHEN 'BOTAO3'.
PERFORM form3.
ENDCASE.
ENDFORM. " F_USER_COMMAND