定义一个lt_fcode,类型为sy-ucomm,,然后将需要删除的按钮,append到内表中,在SET PF-STATUS的时候用EXCLUDING不显示内表lt_fcode中的按钮。
FORM pf_status_set USING rt_extab TYPE slis_t_extab.
DATA lt_fcode TYPE TABLE OF sy-ucomm.
REFRESH lt_fcode.
IF rd_3 = 'X'.
APPEND 'SAVE' TO lt_fcode.
APPEND 'DEL' TO lt_fcode.
APPEND 'DIST' TO lt_fcode.
SET PF-STATUS 'PF_1000' EXCLUDING lt_fcode.
ELSE.
IF ( pc_novdr = '' AND rd_2 = 'X' ) OR rd_1 = 'X'.
APPEND 'DIST' TO lt_fcode.
ENDIF.
SET PF-STATUS 'PF_1000' EXCLUDING lt_fcode.
ENDIF.
IF gv_erro = 'S'.
APPEND 'SAVE' TO lt_fcode.
APPEND 'DEL' TO lt_fcode.
APPEND 'DIST' TO lt_fcode.
SET PF-STATUS 'PF_1000' EXCLUDING lt_fcode.
ENDIF.
ENDFORM. " PF_STATUS_SET