Tags: FALV
The latest version of each part of FALV can be found on github repository https://github.com/fidley/falv which you can use in abapGit for easier up to date handling. 
This class is based on article about Dynamic GUI Status & Tittle but was included directly into FALV and updated to keep the logic of it. in ZDEMO_FALV03 and ZDEMO_FALV04 you can find example of usage of fully and partly dynamic GUI. Bellow short description of some attributes and methods.


Please use this constants while adding, hiding, showing buttons in GUI Status. For fully dynamic GUI you can use all 35 slots, for partially dynamic version you can use up to 19 slots.

    constantsb_01            type sy-ucomm value 'F01',
               b_02            type sy-ucomm value 'F02',
               b_03            type sy-ucomm value 'F03',
               b_04            type sy-ucomm value 'F04',
               b_05            type sy-ucomm value 'F05',
               b_06            type sy-ucomm value 'F06',
               b_07            type sy-ucomm value 'F07',
               b_08            type sy-ucomm value 'F08',
               b_09            type sy-ucomm value 'F09',
               b_10            type sy-ucomm value 'F10',
               b_11            type sy-ucomm value 'F11',
               b_12            type sy-ucomm value 'F12',
               b_13            type sy-ucomm value 'F13',
               b_14            type sy-ucomm value 'F14',
               b_15            type sy-ucomm value 'F15',
               b_16            type sy-ucomm value 'F16',
               b_17            type sy-ucomm value 'F17',
               b_18            type sy-ucomm value 'F18',
               b_19            type sy-ucomm value 'F19',
               b_20            type sy-ucomm value 'F20',
               b_21            type sy-ucomm value 'F21',
               b_22            type sy-ucomm value 'F22',
               b_23            type sy-ucomm value 'F23',
               b_24            type sy-ucomm value 'F24',
               b_25            type sy-ucomm value 'F25',
               b_26            type sy-ucomm value 'F26',
               b_27            type sy-ucomm value 'F27',
               b_28            type sy-ucomm value 'F28',
               b_29            type sy-ucomm value 'F29',
               b_30            type sy-ucomm value 'F30',
               b_31            type sy-ucomm value 'F31',
               b_32            type sy-ucomm value 'F32',
               b_33            type sy-ucomm value 'F33',
               b_34            type sy-ucomm value 'F34',
               b_35            type sy-ucomm value 'F35'.


Use this method to add buttons to GUI STATUS in any place of the code. Changes are visible after next PBO event.
IV_BUTTON Button function code, please use one of constants B_xx.
IV_TEXT Optional - button text
IV_ICON Optional - button icon
IV_QINFO Optional - tooltip for button
IV_ALLOWED Optional - Button is enabled (in default abap_true)

    methodsadd_button importing  value(iv_button)  type sy-ucomm
                                   value(iv_text)    type smp_dyntxt-text optional
                                   value(iv_icon)    type smp_dyntxt-icon_id optional
                                   value(iv_qinfo)   type smp_dyntxt-quickinfo optional
                                   value(iv_allowedtype abap_bool default abap_true


This method hides the button on GUI STATUS. Pass only button slot (constant B_xx to it).

    methodshide_button importing value(iv_buttontype sy-ucomm.


If button was hidden using HIDE_BUTTON method or it was not allowed when adding to toolbar, then you can use SHOW_BUTTON method to make it visible. Pass only button slot (constant B_xx to it).

    methodsshow_button importing value(iv_buttontype sy-ucomm.


This method adds separator kind button to GUI status. In fact there is no possibility to add separator dynamically but we can pass button with empty text and icon, and this is what this method is doing.

    methodsadd_separator importing  value(iv_button)  type sy-ucomm.


This global variable determines if GUI Status is fully dynamic or not. On a base of it different GUI STATUSES are used in PBO of full screen FALV. Example of usage are in demo programs.

    datafully_dynamic type abap_bool.