To Display Calender in F4 help in ALV Output Display.

Hello Experts.
I have one requirement. I have an ALV output. In this one date field is editable. Here User wants F4 Help. I have provided the F4 help, F4 help is coming but for F4 help i want the Factory Calendar type display. Currently the F4 help is coming like a normal F4 help.
Thanks.
Swati.

hi Swati,
I hope you have checked standard program 'bcalv_edit_08'.
in this program, if the type of field we are taking in that perticuler column is 'DATS' then it should display the calender.
Regards,
Ani

Similar Messages

  • Help on ALV GRID display outputting format for 2 internal tables

    Hi,
        I have requirement in ALV GRID where I need to display the data from 2 internal tables. The first internal table has the content of Delivery due list data and second the internal table has the corresponding stock transfer data of the Delivery Due list. I have a checbox on my selection screen, when unchecked it should output the 1st internal table data, i.e for Delivery due list. When it is checked then it should output 1st Internal table data + 2nd internal table data of stock transfer. For example, 1 document delivery due list data and 2nd line for that document should show the stock transfer data. You can also check the transaction code VL10E for that will show a delivery due list...and for stock tranfer,you need to check with Purchase order in in the USer Role tabstrip. Pls suggest.
    Regards,
    Mira

    Hi,
    U can try out this code
    REPORT zzz_test NO STANDARD PAGE HEADING
                           MESSAGE-ID zz.
    The Data Declarations
    INCLUDE zzm_test_alv_data.
    The Selection Screen Definition
    INCLUDE zzm_test_alv_selscrn.
    The definition and implementation of the event reciever class
    INCLUDE zzm_test_alv_class.
    START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM f1000_load_itabs.
    END-OF-SELECTION
    END-OF-SELECTION.
      IF NOT cb_disp IS INITIAL.
        CALL SCREEN 9001.
      ENDIF.
    Include for getting data
      INCLUDE zzm_test_alv_forms.
    Include for PAI and PBO of screen
      INCLUDE zzm_test_alv_screen.
      INCLUDE ZZM_TEST_ALV_DATA                                          *
    This include has all the data declaration defined
    Author............: Judith Jessie Selvi
    Creation Date.....: 28/03/2005
    Table Declarations:
    TABLES: mara,
            makt.
    Internal Tables:
    The following structure type must be defined in the data dictionary
    DATA:  i_fieldcat  TYPE lvc_t_fcat,
           i_fieldcat1 TYPE lvc_t_fcat,
           i_output1   TYPE STANDARD TABLE OF mara,
           i_output2   TYPE STANDARD TABLE OF makt,
    Work Areas:
           w_output1   TYPE STANDARD TABLE OF mara,
           w_output2   TYPE STANDARD TABLE OF makt.
    Variable:
    DATA: lv_repid    LIKE sy-repid.
    lv_repid = sy-repid.
      INCLUDE ZZM_TEST_ALV_SELSCRN                                       *
    Author............: Judith Jessie Selvi
    Creation Date.....: 28/03/2005
    SELECTION-SCREEN BEGIN OF BLOCK b_main WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP 1.
    PARAMETERS: cb_disp AS CHECKBOX.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN END OF BLOCK b_main.
      INCLUDE ZZM_TEST_ALV_CLASS                                         *
    This include has all the data declaration defined for ALV
    Author............: Judith Jessie Selvi
    Creation Date.....: 28/03/2005
    INCLUDE <icon>.
    Predefine a local class for event handling to allow the
    declaration of a reference variable before the class is defined.
    DATA : o_alvgrid1 TYPE REF TO cl_gui_alv_grid ,
           o_alvgrid2 TYPE REF TO cl_gui_alv_grid ,
           cont_for_cognos1   TYPE scrfname VALUE 'BCALC_GRID_01_9100',
           cont_for_cognos2   TYPE scrfname VALUE 'BCALC_GRID_01_9200',
           custom_container1 TYPE REF TO cl_gui_custom_container,
           custom_container2 TYPE REF TO cl_gui_custom_container,
          Work Area
           w_layout TYPE lvc_s_layo ,
           w_variant TYPE disvariant.
          Constants
    CONSTANTS : c_lay(1) TYPE c VALUE 'A' .                  " All Layouts
    CONSTANTS: BEGIN OF c_main_tab,
               tab1 LIKE sy-ucomm VALUE 'MAIN_TAB_FC1',   "
               tab2 LIKE sy-ucomm VALUE 'MAIN_TAB_FC2',   "
               END OF c_main_tab.
      INCLUDE ZZM_TEST_ALV_FORMS                                         *
    This Include has the various forms used in the program
    Author............: Judith Jessie Selvi
    Creation Date.....: 28/03/2005
    *&      Form  f9001_build_field_cat
          To Build Field Catalog
         -->P_I_FIELDCAT  text
         -->P_0021   text
    FORM f9001_build_field_cat TABLES   p_fieldcat STRUCTURE lvc_s_fcat
                          USING value(p_structure).
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
           EXPORTING
                i_structure_name       = p_structure
           CHANGING
                ct_fieldcat            = p_fieldcat[]
           EXCEPTIONS
                inconsistent_interface = 1
                program_error          = 2
                OTHERS                 = 3.
      IF sy-subrc <> 0.
        MESSAGE i005 WITH 'Error in ALV field catalogue creation'.
                                                                " text-e05.
        LEAVE LIST-PROCESSING.
      ENDIF.
    ENDFORM.                    " f9001_build_field_cat
    *&      Form  f9000_objects_create
          For creating Custom Containers
    -->  p1        text
    <--  p2        text
    FORM f9000_objects_create.
      CREATE OBJECT custom_container1
          EXPORTING
              container_name = cont_for_cognos1
          EXCEPTIONS
              cntl_error = 1
              cntl_system_error = 2
              create_error = 3
              lifetime_error = 4
              lifetime_dynpro_dynpro_link = 5.
      CREATE OBJECT custom_container2
          EXPORTING
              container_name = cont_for_cognos2
          EXCEPTIONS
              cntl_error = 1
              cntl_system_error = 2
              create_error = 3
              lifetime_error = 4
              lifetime_dynpro_dynpro_link = 5.
      IF sy-subrc NE 0.
    add your handling, for example
        CALL FUNCTION 'POPUP_TO_INFORM'
             EXPORTING
                  titel = lv_repid
                  txt2  = sy-subrc
                  txt1  = 'The control could not be created'(510).
      ENDIF.
      CREATE OBJECT o_alvgrid1
           EXPORTING i_parent = custom_container1.
      CREATE OBJECT o_alvgrid2
           EXPORTING i_parent = custom_container2.
    ENDFORM.                    " f9000_objects_create
    *&      Form  f9003_layout
          To define the layout
         -->P_SY_TITLE  text
         -->P_0030   text
         -->P_0031   text
         -->P_0032   text
    FORM f9003_layout USING  value(ptitle)
                             value(pzebra)
                             value(pmode)
                             value(pwidth).
      w_layout-grid_title  = ptitle.
      w_layout-zebra       = pzebra.
      w_layout-sel_mode    = pmode.
      w_layout-cwidth_opt  = pwidth.
      w_variant-report     = sy-repid.
    ENDFORM.                    " f9003_layout
    *&      Form  f9006_error_handle
         To handle event
         -->P_PTEXT  text
    FORM f9006_error_handle USING value(ptext).
      IF sy-subrc NE 0.
        CALL FUNCTION 'POPUP_TO_INFORM'
             EXPORTING
                  titel = text-e03 " Error Note
                  txt2  = sy-subrc
                  txt1  = ptext.
      ENDIF.
    ENDFORM.                    " f9006_error_handle
          FORM EXIT_PROGRAM                                             *
    FORM exit_program.
      CALL METHOD custom_container1->free.
      CALL METHOD custom_container2->free.
      CALL METHOD cl_gui_cfw=>flush.
      IF sy-subrc NE 0.
        CALL FUNCTION 'POPUP_TO_INFORM'
             EXPORTING
                  titel = lv_repid
                  txt2  = sy-subrc
                  txt1  = 'Error in FLush'(500).
      ENDIF.
    ENDFORM.
    *&      Form  f1000_load_itabs
          Select from Database
    -->  p1        text
    <--  p2        text
    form f1000_load_itabs.
      SELECT * FROM mara
               INTO TABLE i_output1
               UP TO 50 rows.
      SELECT * FROM makt
               INTO TABLE i_output2
               UP TO 50 rows.
    endform.                    " f1000_load_itabs
      INCLUDE ZZM_TEST_ALV_SCREEN                                        *
    2/ Description / Include functions
    This include contains PBO and PAI events for the screen of report
    ZZZJJ_TEST_ALV
    3/ Responsibility
    Author............: Judith Jessie Selvi
    Creation Date.....: 28/03/2005
    DATA FOR TABSTRIP 'MAIN_TAB'
    CONTROLS:  main_tab TYPE TABSTRIP.
    DATA:      BEGIN OF i_main_tab,
                 subscreen   LIKE sy-dynnr,
                 prog        LIKE sy-repid VALUE
                                  'ZZZ_TEST',
                 pressed_tab LIKE sy-ucomm VALUE c_main_tab-tab1,
               END OF i_main_tab.
    *&      Module  STATUS_9001  OUTPUT
          text
    MODULE status_9001 OUTPUT.
    IF custom_container1 IS INITIAL.
      SET PF-STATUS 'ZSTATUS'.
      SET TITLEBAR 'ZTITLE'.
      Creating Object
        PERFORM f9000_objects_create.
      Building the field catalog
        PERFORM f9001_build_field_cat TABLES i_fieldcat
                                USING 'MARA'.
        PERFORM f9001_build_field_cat TABLES i_fieldcat1
                                USING 'MAKT'.
      Modifying the field catalog
       PERFORM f9002_modify_field_cat TABLES i_fieldcat.
      For Layout
        PERFORM f9003_layout USING sy-title 'X' 'B' 'X'.
    ENDIF.
    ENDMODULE.                 " STATUS_9001  OUTPUT
    *&      Module  MAIN_TAB_ACTIVE_TAB_SET  OUTPUT
          Call method to display in the output grid
    MODULE main_tab_active_tab_set OUTPUT.
      main_tab-activetab = i_main_tab-pressed_tab.
      CASE i_main_tab-pressed_tab.
        WHEN c_main_tab-tab1.
      To display report
         i_main_tab-subscreen = '9100'.
          CALL METHOD o_alvgrid1->set_table_for_first_display
          EXPORTING
             is_variant                    = w_variant
             i_save                        = c_lay
             is_layout                     = w_layout
          CHANGING
             it_outtab                     = i_output1[]
             it_fieldcatalog               = i_fieldcat[]
          EXCEPTIONS
             invalid_parameter_combination = 1
             program_error                 = 2
             too_many_lines                = 3
             OTHERS                        = 4.
      IF sy-subrc <> 0.
        MESSAGE i000 WITH text-e06."Error in ALV report display
        LEAVE LIST-PROCESSING.
      ENDIF.
        WHEN c_main_tab-tab2.
      To display report
          i_main_tab-subscreen = '9200'.
          CALL METHOD o_alvgrid2->set_table_for_first_display
          EXPORTING
             is_variant                    = w_variant
             i_save                        = c_lay
             is_layout                     = w_layout
          CHANGING
             it_outtab                     = i_output2[]
             it_fieldcatalog               = i_fieldcat1[]
          EXCEPTIONS
             invalid_parameter_combination = 1
             program_error                 = 2
             too_many_lines                = 3
             OTHERS                        = 4.
      IF sy-subrc <> 0.
        MESSAGE i005 WITH text-e06."Error in ALV report display
        LEAVE LIST-PROCESSING.
      ENDIF.
    WHEN OTHERS.
         DO NOTHING
      ENDCASE.
    ENDMODULE.                 “MAIN_TAB_ACTIVE_TAB_SET OUTPUT
    *&      Module MAIN_TAB_ACTIVE_TAB_GET INPUT
          Check & Process the selected Tab
    MODULE main_tab_active_tab_get INPUT.
      CASE sy-ucomm.
        WHEN c_main_tab-tab1.
          i_main_tab-pressed_tab = c_main_tab-tab1.
        WHEN c_main_tab-tab2.
          i_main_tab-pressed_tab = c_main_tab-tab2.
        WHEN OTHERS.
         DO NOTHING
      ENDCASE.
    ENDMODULE.                 “MAIN_TAB_ACTIVE_TAB_GET INPUT
    *&      Module USER_COMMAND_9001 INPUT
          User Command
    MODULE user_command_9001 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
          PERFORM exit_program.
          SET SCREEN '0'.
        WHEN 'EXIT' OR  'CANC'.
          PERFORM exit_program.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 “USER_COMMAND_9000 INPUT
    *&      Module MAIN_TAB_ACTIVE_TAB_SET INPUT
          Set sunscreen
    MODULE main_tab_active_tab_set INPUT.
      main_tab-activetab = i_main_tab-pressed_tab.
      CASE i_main_tab-pressed_tab.
        WHEN c_main_tab-tab1.
            i_main_tab-subscreen = '9100'.
        WHEN c_main_tab-tab2.
            i_main_tab-subscreen = '9200'.
        WHEN OTHERS.
         DO NOTHING
      ENDCASE.
    ENDMODULE.                 “MAIN_TAB_ACTIVE_TAB_SET INPUT
    Thanks & Regards,
    Judith.

  • Strange behaviour in alv output display for a date column!

    hi friends,
    my alv output list display contains a column for budat (posting date), if this field has no value, then it displays a blank cell (space) in the output in my user login...but when the same report is run in another user login, even though the value of the column is null, it displays 00000000 (8 zeroes) rather than displaying a blank cell...i have set the field catalog property NO_ZERO = 'X'; is this property has anything to do with authorization to achieve its funcionality? am not sure...this is strange, as it is the same report, same field catalog that is being used..need some inputs on this
    thanks in advance
    Sathish

    There are 2 solutions for an adhoc solution you can change the field to a char10 field, this will solve your immediate problem of the 0 display. For a permanent solution you can check the user profile setting for the date for you as well as the concerned user. 
    Hope That Helps
    Anirban M.

  • HOW TO DISPLAY MY OWN PF STATUS  IN ALV LIST DISPLAY

    Hi All,
    i am developing one program in this program i am displaying output by using alv list display. after displaying the out SAP predefined pf status is coming. here i need my own pf status. any body can send me the sample code ir modify my code if possible.
    i am sending my code below.
    report zmahi6.
    type-pools : slis.
    tables : zuser_secobjects.
    data : it_secobjects like zuser_secobjects occurs 0 with header line.
    data : i_field type slis_t_fieldcat_alv with header line.
    data : w_field like line of i_field.
    data : i_sort type slis_t_sortinfo_alv.
    data : w_sort like line of i_sort.
    data : it_filt1 type slis_t_filter_alv with header line.
    data:
    i_tabname type tabname,
    i_repid like sy-repid,
    is_lout type slis_layout_alv.
    data : chk_box type slis_fieldname.
    selection-screen: begin of block b1 with frame title text-t01.
    parameters : p_appln type zuser_secobjects-appln.
    parameters : p_user type usr02-bname, "zuser_secobjects-appln_user,
    p_partnr type zuser_secobjects-appln_partner,
    p_ptype type zuser_secobjects-partner_type default '02',
    p_upostn type zuser_secobjects-user_position,
    p_sdate like likp-erdat default sy-datum,
    "type zuser_secobjects-start_date
    p_edate(10) default '12/31/9999',
    type zuser_secobjects-end_date,
    p_revnum type zuser_secobjects-revnum,
    p_cted type zuser_secobjects-created_by,
    p_cdate type zuser_secobjects-creation_date,
    p_ctime type zuser_secobjects-creation_time,
    p_chnby type zuser_secobjects-changed_by,
    p_cdate1 type zuser_secobjects-changed_date,
    p_ctime1 type zuser_secobjects-changed_time.
    selection-screen: end of block b1.
    start-of-selection.
      perform get_data.
      check sy-subrc eq 0.
      set pf-status 'ZMAHEE'.
      perform prepare_fieldcatalog.
      perform alv_list_display.
    *& Form PREPARE_FIELDCATALOG
    text
    --> p1 text
    <-- p2 text
    form prepare_fieldcatalog.
      clear: w_field,i_field.
      refresh:i_field.
      i_field-key = 'X'.
      i_field-col_pos = 1.
      i_field-ddictxt = 'S'.
      i_field-seltext_s = '@11@'.
      i_field-checkbox = 'X'.
      i_field-input = 'X'.
      i_field-fieldname = 'HEADER'.
      i_field-outputlen = 0.
      append i_field.
      clear i_field.
      w_field-fieldname = 'APPLN'.
      w_field-tabname = 'IT_SECOBJECTS'.
      w_field-seltext_l = text-m01.
      w_field-outputlen = '10'.
      w_field-col_pos = 1.
      append w_field to i_field.
      clear w_field.
      w_field-fieldname = 'APPLN_USER'.
      w_field-tabname = 'IT_SECOBJECTS'.
      w_field-just = 'C'.
      w_field-seltext_l = text-m02.
      w_field-outputlen = '7'.
      w_field-col_pos = 2.
      append w_field to i_field.
      clear w_field.
    endform. " PREPARE_FIELDCATALOG
    *form pf_status_set using rt_extab type slis_t_extab.
    set pf-status '0001'.
    *endform.
    *& Form ALV_LIST_DISPLAY
    text
    --> p1 text
    <-- p2 text
    form alv_list_display.
      call function 'REUSE_ALV_LIST_DISPLAY'
      exporting
      i_callback_program = i_repid
      i_callback_pf_status_set = 'PF_STATUS_SET'
      i_callback_user_comomand = 'USER_COMMAND'
      is_layout = is_lout
      it_fieldcat = i_field[]
    it_sort = i_sort
    it_events = it_evts[]
      tables
      t_outtab = it_secobjects.
    endform. " ALV_LIST_DISPLAY
    *& Form GET_DATA
    text
    --> p1 text
    <-- p2 text
    form get_data.
      select * from zuser_secobjects
      into table it_secobjects.
    endform. " GET_DATA
    thanks,
    maheedhar.t

    Follow this steps.
    I ahve done it once and hope wuld work for you as well.
    Go to SE80. Open a a standard ABAP program - SAPLKKBL. diasplay object.
    This program has many standard GUI status. Copy the one which suits you the best. May be any one standars status. Right click it and copy to your custom report. Now open your Z-Program in SE80. You will see the GUI status and when you open it you see the name of the status that you have copied from.
    Now you can go and do any modifications in the screen.
    Remember you have to use the same status in the program as well.
    Please check this piece of code.
    call the ABAP list viewer                                            *
    FORM list_display TABLES a_output.
      pgm = disvariant-report = sy-repid.
      disvariant-variant = variant.
    call list viewer
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program       = pgm
          i_callback_pf_status_set = 'SET_PF_STATUS'
          it_fieldcat              = fieldcat
          is_variant               = disvariant
          is_layout                = layout
          is_print                 = print
          i_save                   = 'A'
          it_events                = eventcat
          it_sort                  = sortcat
          i_callback_user_command  = 'USER_COMMAND'
        TABLES
          t_outtab                 = a_output
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
    ENDFORM.                    "LIST_DISPLAY
    FORM SET_PF_STATUS *
    FORM set_pf_status USING extab TYPE slis_t_extab.
      SET PF-STATUS 'STATUS1'.
    ENDFORM.                    "set_pf_status
    FORM USER_COMMAND *
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
      DATA t_difference TYPE i.
      CASE ucomm.
        WHEN 'ENT1'.<----Function code
    D0 your processing.
      ENDCASE.
      selfield-refresh = 'X'.
    ENDFORM.                    "user_command
    HOpe this helps.
    Shreekant

  • F4 Search Help in ALV output

    hi experts,
            I have the Batch field as an editable field in ALV list display. I want to Give an F4 for this Field. I have given the reference field and reference table as 'MCHA'. I am getting the F4 values also. But i want like an search help dialog box instead of a whole list of values  as i get in VL02n when we f4 for batch in a modal kind of a box.Is there any way i could do it. I am Using Reuse_alv_list_display.Is there any way i could do it.
    With thanks in advance,
    Syed Ibrahim
    Edited by: SYED_ibbu on Jun 21, 2011 11:26 AM

    Hi.,
    I think using search help exit at domain leven you can get that.,
    also check  vijay's reply in this thread: [Custom F4 in ALV|Assigning F4 help in  REUSE_ALV_GRID_DISPLAY;
    hope this helps u.,
    Thanks & Regards,
    Kiran

  • F4 help to ALV output Field

    Hi  All,
    I am displaying an ALV output using class. In the output list, i have added one push button 'ADD'. If user clicks on this button, new line should be available to enter the data. This is working fine.
    Now i want to give an F4 help for a column for which values is to be generated in the program. I have an internal table with values which is to be displayed when user clicks on that column.
    This is very urgent.
    Pls. suggest me.
    best regards,

    Hi,
    Linking F4 Help to Fields
    For the last section, we will deal with linking F4 help to fields. It is easy. As usual, define, implement and register the event “onf4” at proper places in your code. For F4 help, you must register the fields whose F4 request will trigger the “onf4” event. For this you must prepare a table of type “LVC_T_F4” and register this table using the method “register_f4_for_fields”. While preparing table you must include a line for each field which will trigger F4 event. For each field in the structure;
    Pass the fieldname to ‘FIELDNAME’
    Set ‘REGISTER’ to make the field registered,
    Set ‘GETBEFORE’ to provide field content transport before F4 in editable mode
    Set ‘CHNGEAFTER’ to make the data changed after F4 in editable mode.
    Preparing table for the fields to be registered to trigger F4 event
    DATA: lt_f4 TYPE lvc_t_f4 WITH HEADER LINE .
    lt_f4-fieldname = 'PRICE'.
    lt_f4-register = 'X' .
    lt_f4-getbefore = 'X' .
    APPEND lt_f4 .
    CALL METHOD gr_alvgrid->register_f4_for_fields
    EXPORTING
    it_f4 = lt_f4[] .
    A sample “onf4” method implementation
    METHOD handle_on_f1 .
    PERFORM f4_help USING e_fieldname es_row_no .
    er_event_data->m_event_handled = 'X' .
    Again, we set the attribute “er_event_data->m_event_handled” to prevent further processing of standard F4 help.
    Regards,
    Ranjit Thakur.
    <b>Please Mark The Helpful Answer.</b>
    ENDMETHOD .

  • Initial ALV output display

    Hello,
    I have one query witl regards to ALV output. After entering data in the selection screnn my ALV output gets displayed and there is no issue with it. The ALV is in display mode and if i click on the change button the ALV becomes editable. So fat it is fine.
    The area  of concern is the initial ALV output even though it is  in display mode  looks as if it is editable ALV.  On click of the change button, then the ALV is shown in display mode and it is easily identifiable.
    The user feels the initial ALV output is confusing and that he is not able to recognize whether it is display/editbale ALV. How can we fix it so that client can identify it?
    Also, how do we get all the standard ALV buttons that we get in SE38 output in webdynpro? Please help.
    Regards,
    Vaishnavi

    Hi,
    init your ALV settings with:
    DATA lr_alv_cfg TYPE ref to cl_salv_wd_config_table.
    lo_INTERFACECONTROLLER =   wd_this->wd_cpifc_alv_table( ).
    lr_alv_cfg = lo_interfacecontroller->get_model( ).
    lr_alv_cfg->IF_SALV_WD_TABLE_SETTINGS~SET_READ_ONLY( abap_true ).
    If you click change button do this:
    is_read_only = lr_alv_cfg->IF_SALV_WD_TABLE_SETTINGS~GET_READ_ONLY( ).
    if lv_is_read_only = abap_true.
        lr_alv_cfg->IF_SALV_WD_TABLE_SETTINGS~SET_READ_ONLY( abap_false ).
    else.
        lr_alv_cfg->IF_SALV_WD_TABLE_SETTINGS~SET_READ_ONLY( abap_true ).
    endif.

  • Re : ALV Output Display

    hi
    i'm doing an ALV Report. In the output  i'm double clicking on the Document field using user-command
    it is taking me to a particular Transaction and my requirement is if i change any field for ex : Description
    in that transaction and come back again to the output display the Changed Description should appear
    when i refresh the Output.how to get it?
    Regards

    1. create one icon on allication toolbar which is REFRESH icon, and give some function for it.
    2. write the code like:
        CASE SY_UCOMM.
          when 'FCODE'.
              refresh itab.
              perform get_data.
              perform_displaydata.
    it is nothing but u need to put the same code which u used earlier to show the data in output gaian after clicking on function code.
    Regards,
    Rajesh.

  • Error message was displaying when comes back from the final output display

    Hi Experts,
    I have developed one program and it works fine. But when i press F3 or BACK button from the final display one Error  wa coming in a pop-up saying "Selection criterion "Posting Date" contains several selection lines".
    I cant understand where the problem was. Can any one suggest where would be the problem. I am sending the code.
    REPORT  zfir0011_o2c_tax_gl_summary.
    TYPE-POOLS slis.
    TABLES: faglflexa.
    Types Declaration.
    TYPES: BEGIN OF x_faglflexa,
           ryear TYPE gjahr,
           bukrs TYPE bukrs,
           belnr TYPE belnr_d,                  "Document Number
           poper TYPE poper,                    "Posting Period
           budat TYPE budat,                    "Posting Date
           buzei TYPE buzei,                    "Document line item
           racct TYPE racct,                    "G/L Account no.
           END   OF x_faglflexa,
           ty_t_faglflexa TYPE STANDARD TABLE OF x_faglflexa.
    TYPES: BEGIN OF x_bset,
           belnr TYPE belnr_d,
           buzei TYPE buzei,
           mwskz TYPE mwskz,                    "Tax code
          hkont TYPE hkont,
           shkzg TYPE shkzg,                    "Debit/Credit Indicator
           txjcd TYPE txjcd,                    "Tax Jurisdiction
           h2ste TYPE h2ste,                    "Tax Amount
           h2bas TYPE h2bas_bses,               "Tax Amount
           END   OF x_bset,
           ty_t_bset TYPE STANDARD TABLE OF x_bset.
    TYPES: BEGIN OF x_skat,
           spras TYPE spras,
           ktopl TYPE ktopl,
           saknr TYPE saknr,
           text  TYPE txt20_skat,
           END   OF x_skat,
           ty_t_skat TYPE STANDARD TABLE OF x_skat.
    TYPES: BEGIN OF x_custom,
           geo_state    TYPE char2,
           geo_county   TYPE char3,
           country      TYPE char2,
           description  TYPE char40,
           END   OF x_custom,
           ty_t_custom TYPE STANDARD TABLE OF x_custom.
    TYPES: BEGIN OF x_budat,
           sign     TYPE char_01,
           option   TYPE char2,
           low      TYPE budat,
           high     TYPE budat,
           END OF x_budat,
           ty_t_budat TYPE STANDARD TABLE OF x_budat.
    TYPES: BEGIN OF x_txjcd,
           geo_state  TYPE char2,
           geo_county TYPE char3,
           END   OF x_txjcd,
           ty_t_txjcd TYPE STANDARD TABLE OF x_txjcd.
    TYPES: BEGIN OF x_inter,
           ryear TYPE gjahr,
           bukrs TYPE bukrs,
           txjcd TYPE txjcd,                    "Tax Jurisdiction
           racct TYPE racct,                    "G/L Account no.
           h2ste TYPE h2ste,                    "Tax Amount
           poper TYPE poper,                    "Posting Period
           belnr TYPE belnr_d,                  "Document Number
           shkzg TYPE shkzg,                    "Debit/Credit Indicator
           END   OF x_inter,
           ty_t_inter TYPE STANDARD TABLE OF x_inter.
    TYPES: BEGIN OF x_final,
           txjcd    TYPE bset-txjcd,                     "Tax Jurisdiction
           state    TYPE char40,                         "State
           curr_bal TYPE bset-h2ste,                     "Current Balance
           per_chng TYPE bset-h2ste,                     "Period Change
           pri_bala TYPE bset-h2ste,                     "Prior Balance
           END   OF x_final,
           ty_t_final TYPE STANDARD TABLE OF x_final.
    Column positions to pass to field catalog
    CONSTANTS : c_pos_1      TYPE sy-cucol       VALUE '1',   " position of the columns
                c_pos_2      TYPE sy-cucol       VALUE '2',
                c_pos_3      TYPE sy-cucol       VALUE '3',
                c_pos_4      TYPE sy-cucol       VALUE '4',
                c_pos_5      TYPE sy-cucol       VALUE '5'.
    *Field names for Field Catalog
    CONSTANTS : c_h           TYPE c              VALUE 'H',                         "Header
                c_s           TYPE c              VALUE 'S',                         "Sub heading
                c_slash       TYPE c              VALUE '/',                         "Slash
                c_colon       TYPE c              VALUE ':',                         "Column
                c_top_of_page TYPE slis_formname  VALUE 'TOP_OF_PAGE',"#EC NEEDED          "Top-of-page
                c_top_of_page_split TYPE slis_formname  VALUE 'TOP_OF_PAGE_SPLIT',   "Top-of-page centered
                c_txjcd       TYPE slis_fieldname VALUE 'TXJCD',                     "Tax Jurisdiction
                c_region      TYPE slis_fieldname VALUE 'STATE',                     "State
                c_currb       TYPE slis_fieldname VALUE 'CURR_BAL',                  "Current Balance
                c_perch       TYPE slis_fieldname VALUE 'PER_CHNG',                  "Period Change
                c_prbal       TYPE slis_fieldname VALUE 'PRI_BALA'.                  "Prior Balance
    CONSTANTS : c_table_name  TYPE slis_tabname   VALUE 'IT_FINAL', "For Field Catalog
                c_spras       TYPE spras          VALUE 'E',        "Language
                c_buzei       TYPE c              VALUE '1',        "Line item in BSET
                c_one(2)      TYPE c              VALUE '01',
                c_zp          TYPE bset-mwskz     VALUE 'ZP',       "Sales Tax Code
                c_zr          TYPE bset-mwskz     VALUE 'ZR'.       "Sales Tax Code
    Variables Declaration.
    DATA : v_current_year TYPE i,                                   "Current year
           v_poper        TYPE poper,                               "Posting period
           v_saknr        TYPE saknr,                               "Account no.    "#EC NEEDED
           v_ktopl        TYPE ktopl,                               "Chart of Accounts
           v_konts        TYPE saknr,                               "G/L Account Number
           v_bukrs        TYPE bukrs,                               "Company Code
           v_sum_val      TYPE h2ste,           "#EC NEEDED     "Tax Amount
           v_sum_val1     TYPE h2ste,                               "Tax Amount
           v_sum_val2     TYPE h2ste,                               "Tax Amount
           v_sum_debit    TYPE h2ste,
           v_sum_credit   TYPE h2ste,
           v_sum_debit1   TYPE h2ste,
           v_sum_credit1  TYPE h2ste,
           v_h2ste        TYPE string,                          "#EC NEEDED
           v_desc         TYPE char40,                              "G/L Acct. Description
           v_title        TYPE char40.                              "Title
    Internal Tables Declaration.
    DATA : it_faglflexa        TYPE ty_t_faglflexa,             "Internal table for G/L Line Items.
           it_bset             TYPE ty_t_bset,                  "Internal table for Tax Data Document Segment.
           it_skat             TYPE ty_t_skat,                  "Internal table for Chart of Accounts: Desc.
           it_custom           TYPE ty_t_custom,                "Custom table for storing STATE Description.
           it_txjcd            TYPE ty_t_txjcd,                 "For storing Tax Jurisdiction codes.
           it_inter            TYPE ty_t_inter.                 "Intermediate table for storing data & Performing Calculations.
    DATA : it_final            TYPE ty_t_final.                 "#EC NEEDED
    *Fieldcatalogue Internal Table Declaration
    DATA : it_fieldcat         TYPE slis_t_fieldcat_alv,
           wa_fieldcat         TYPE slis_fieldcat_alv,
           it_alv_top_of_page  TYPE slis_t_listheader,
           wa_line             TYPE slis_listheader.
    *Field-symbols and Work Area Declarations
    FIELD-SYMBOLS : <fs_faglflexa>      TYPE x_faglflexa,
                    <fs_bset>           TYPE x_bset.
    DATA : wa_faglflexa     TYPE x_faglflexa,                   "#EC NEEDED
           wa_bset          TYPE x_bset,
           wa_skat          TYPE x_skat,
           wa_custom        TYPE x_custom,
           wa_txjcd         TYPE x_txjcd,
           wa_inter         TYPE x_inter,
           wa_final         TYPE x_final.                      " #EC NEEDED
    SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS:     p_bukrs TYPE faglflexa-rbukrs OBLIGATORY,              " Company Code
                    p_gjahr TYPE faglflexa-gjahr  OBLIGATORY.              " Fiscal Year
    SELECT-OPTIONS: s_budat FOR  faglflexa-budat  OBLIGATORY               " Posting Date
                                                  NO-EXTENSION
                                                  NO INTERVALS.
    PARAMETERS:     p_racct TYPE faglflexa-racct  OBLIGATORY.              " G/L Accounts
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN VALIDATIONS.
    *Company Code Validation.
    AT SELECTION-SCREEN ON p_bukrs.
      SELECT SINGLE bukrs INTO v_bukrs
      FROM t001
      WHERE bukrs = p_bukrs.
      IF sy-subrc NE 0.
        MESSAGE e071(zfinprjt).
      ENDIF.
    Fiscal Year Validation. It should not be more than Current.
    AT SELECTION-SCREEN ON p_gjahr.
      v_current_year = sy-datum+0(4).
      IF p_gjahr > v_current_year.
        MESSAGE e072(zfinprjt).
      ENDIF.
    *G/L Account Validation.
    AT SELECTION-SCREEN ON p_racct.
      SELECT SINGLE saknr INTO v_saknr
      FROM skb1
      WHERE saknr EQ p_racct
      AND   bukrs EQ p_bukrs.
      IF sy-subrc EQ 0.
    *Check the Chart of Accounts for that Company Code.
        SELECT SINGLE ktopl FROM t001
        INTO v_ktopl
        WHERE bukrs = p_bukrs.
    *Check that it is a Tax G/L Account for that Company Code and G/L Account.
        SELECT SINGLE konts FROM t030k                          "#EC *
        INTO v_konts
        WHERE ktopl = v_ktopl
        AND   konts = v_saknr.
        IF sy-subrc NE 0.
          MESSAGE e073(zfinprjt).
        ENDIF.
      ELSE.
        MESSAGE e073(zfinprjt).
      ENDIF.
    AT SELECTION-SCREEN ON s_budat.
      DATA : v_year(4)  TYPE c,
             v_month(2) TYPE c,
             v_date(2)  TYPE c.                                 "#EC NEEDED
    *if date ne 01 converting date to '01'
    READ TABLE s_budat.
      IF s_budat-low+6(2) NE c_one.
        v_year  = s_budat-low.
        v_month = s_budat-low+4(2).
        v_date  = s_budat-low+6(2).
        s_budat-high = s_budat-low.
        CLEAR s_budat-low.
        CONCATENATE v_year c_one c_one INTO s_budat-low.
        s_budat-sign = 'I'.
        s_budat-option = 'BT'.
        APPEND s_budat.
      ENDIF.
    START-OF-SELECTION.
      PERFORM get_data USING p_bukrs                            "#EC *
                             p_gjahr                            "#EC *
                             s_budat[]                          "#EC *
                             p_racct  CHANGING it_final.        "#EC *
    *Display report in ALV grid
      IF it_final IS NOT INITIAL.
    *Build Top of the page table.
       PERFORM comment_build USING it_skat CHANGING it_alv_top_of_page.
    *Build Field catalog table for ALV
        PERFORM build_field_catalog CHANGING it_fieldcat.
    *Display report
        PERFORM display_alv USING it_final.
      ELSE.
    *No data found for the selection criteria/period.
        MESSAGE i022(zfinprjt).
        exit.
      ENDIF.
    *&      Form  GET_DATA
          Retrieve data from Database tables
         -->P_P_BUKRS  text
         -->P_P_GJAHR  text
         -->P_P_BUDAT  text
         -->P_P_RACCT  text
         <--P_IT_FINAL  text
    FORM get_data  USING    fp_bukrs     TYPE bukrs             "#EC *
                            fp_gjahr     TYPE gjahr             "#EC *
                            fp_budat     TYPE ty_t_budat        "#EC *
                            fp_racct     TYPE racct             "#EC *
                   CHANGING fp_it_final  TYPE ty_t_final.
    *selecting the Required data from FAGLFLEXA
      SELECT ryear                                "Fiscal Year
             rbukrs                               "Company Code
             belnr                                "Document Number
             poper                                "Posting Period
             budat                                "Posting Date
             buzei                                "Document line item
             racct                                "G/L Account no.
             INTO TABLE it_faglflexa
             FROM faglflexa
             WHERE rbukrs EQ p_bukrs                            "#EC *
             AND   gjahr  EQ p_gjahr                            "#EC *
            AND   budat  LE s_budat                            "#EC *
             AND   budat  IN s_budat                            "#EC *
             AND   racct  EQ p_racct.                           "#EC *
      IF sy-subrc EQ 0.
        SORT it_faglflexa.
      ENDIF.
    *selecting the Tax Jurisdiction, Tax amount from BSET
      IF it_faglflexa IS NOT INITIAL.
        SELECT belnr
               buzei
               mwskz
               "hkont
               shkzg                                "Debit/Credit Indicator
               txjcd                                "Tax Jurisdicaiton
               h2ste                                "Tax Amount
               h2bas                                "Tax Amount1
               INTO TABLE it_bset
               FROM bset
               FOR ALL ENTRIES IN it_faglflexa
               WHERE belnr EQ it_faglflexa-belnr
               AND   gjahr EQ p_gjahr               "it_faglflexa-ryear
               AND   buzei EQ c_buzei.              "Line item
      ENDIF.
      IF sy-subrc EQ 0.
       SORT it_bset BY txjcd ASCENDING.
        SORT it_bset BY belnr ASCENDING.
      ENDIF.
    *Selecting the G/L Account Long Text from SKAT
      IF it_faglflexa IS NOT INITIAL.
        SELECT  spras                            " Language key
                ktopl                            " Chart of Accounts
                saknr                            " G/L Account Number
                txt20                            " G/L Account Long Text
             INTO TABLE it_skat
             FROM skat
             FOR ALL ENTRIES IN it_faglflexa
             WHERE spras =  c_spras
             AND   saknr =  it_faglflexa-racct.
      ENDIF.
      IF sy-subrc EQ 0.
        SORT it_skat.
      ENDIF.
      LOOP AT it_bset ASSIGNING <fs_bset>.
        wa_txjcd-geo_state  = <fs_bset>-txjcd+0(2).
        wa_txjcd-geo_county = <fs_bset>-txjcd+2(3).
        APPEND wa_txjcd TO it_txjcd.
        CLEAR wa_txjcd.
      ENDLOOP.
      IF sy-subrc EQ 0.
        SORT it_txjcd BY geo_state.
        DELETE ADJACENT DUPLICATES FROM it_txjcd COMPARING geo_state geo_county.
      ENDIF.
    *Selecting the Description from Custom table
      IF it_txjcd IS NOT INITIAL.
        SELECT geo_state
               geo_county
               country
               description
        INTO TABLE it_custom
        FROM ztfi_tgl_summary
        FOR ALL ENTRIES IN it_txjcd
        WHERE geo_state  = it_txjcd-geo_state
        AND   geo_county = it_txjcd-geo_county.
      ENDIF.
      IF sy-subrc EQ 0.
        SORT it_custom.
      ENDIF.
      LOOP AT it_faglflexa ASSIGNING <fs_faglflexa>.
        MOVE-CORRESPONDING <fs_faglflexa> TO wa_inter.          "#EC ENHOK
    *Read Tax Jurisdiction and Tax Amount from BSET Table.
        READ TABLE it_bset INTO wa_bset WITH KEY belnr =  <fs_faglflexa>-belnr
                                                 BINARY SEARCH.
        IF sy-subrc EQ 0.
          wa_inter-shkzg = wa_bset-shkzg.
          wa_inter-txjcd = wa_bset-txjcd.
        ENDIF.
    *If BSET-MWSKZ = ZP or ZR then pick H2BAS as Tax Amount.
        IF wa_bset-mwskz = c_zp.
          wa_inter-h2ste = wa_bset-h2bas.
        ELSEIF wa_bset-mwskz = c_zr.
          wa_inter-h2ste = wa_bset-h2bas.
        ELSE.
          wa_inter-h2ste = wa_bset-h2ste.
        ENDIF.
    *Check it is credit entry or debit entry ('H' or 'S').
        IF wa_inter-shkzg EQ 'H'.
          wa_inter-h2ste = wa_inter-h2ste * -1.
        ENDIF.
        APPEND wa_inter TO it_inter.
        CLEAR: wa_inter, wa_bset.
      ENDLOOP.
      IF sy-subrc EQ 0.
        SORT it_inter BY bukrs ryear txjcd ASCENDING.
        DELETE it_inter WHERE txjcd EQ space.
        DELETE ADJACENT DUPLICATES FROM it_inter COMPARING belnr.
      ENDIF.
      v_poper = s_budat-high+4(2).
      LOOP AT it_inter INTO wa_inter.
    *Read the Text maintained in the custom table based on the GEO_STATE = First two digits of TXJCD
    *and GEO_COUNTY = Next three digits of TXJCD. If this is blank pick based on First two digits of TXJCD.
        READ TABLE it_custom INTO wa_custom WITH KEY geo_state  = wa_inter-txjcd+0(2)
                                                     geo_county = wa_inter-txjcd+2(3)
                                                     BINARY SEARCH.
        IF sy-subrc NE 0.
          READ TABLE it_custom INTO wa_custom WITH KEY geo_state  = wa_bset-txjcd+0(2)
                                                       BINARY SEARCH.
        ENDIF.
        IF sy-subrc = 0.
          wa_final-state = wa_custom-description.
        ENDIF.
        AT NEW txjcd.
          CLEAR: v_sum_val, v_sum_val1, v_sum_val2.
        ENDAT.
      Period Change, if v_poper equal to present period(v_poper).
        IF wa_inter-poper EQ v_poper.
          IF wa_inter-shkzg EQ 'H'.
            v_sum_debit     = v_sum_debit + wa_inter-h2ste.
          ELSE.
            v_sum_credit    = v_sum_credit + wa_inter-h2ste.
          ENDIF.
      Prior Balance, if v_poper is less than present period(v_poper).
        ELSEIF wa_inter-poper LT v_poper.
          IF wa_inter-shkzg EQ 'H'.
            v_sum_debit1    = v_sum_debit1 + wa_inter-h2ste.
          ELSE.
            v_sum_credit1   = v_sum_credit1 + wa_inter-h2ste.
          ENDIF.
        ENDIF.
        AT END OF txjcd.
          wa_final-txjcd    = wa_inter-txjcd.
          IF sy-subrc EQ 0.
            v_sum_val1      = v_sum_credit - v_sum_debit.                     "Temp Commented
          ENDIF.
          wa_final-per_chng = v_sum_val1.                                     "Period change
          IF sy-subrc EQ 0.
            v_sum_val2      = v_sum_credit1 - v_sum_debit1.                   "Temp commented
          ENDIF.
          wa_final-pri_bala = v_sum_val2.                                     "Prior Balance
          wa_final-curr_bal = v_sum_val1 + v_sum_val2.                        "Current Balance
          APPEND wa_final TO it_final.                          "#EC *
          CLEAR: wa_inter,
                 wa_final,
                 v_sum_credit,
                 v_sum_credit1,
                 v_sum_debit,
                 v_sum_debit1.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " GET_DATA
    *&      Form  COMMENT_BUILD
          ALV Top of Page
         -->P_IT_SKAT  text
         <--P_IT_ALV_TOP_OF_PAGE  text
    FORM comment_build  USING    fp_it_skat            TYPE ty_t_skat"#EC NEEDED
                        CHANGING fp_it_alv_top_of_page TYPE slis_t_listheader.
      DATA: v_budat_low  TYPE c LENGTH 10,                      "#EC NEEDED
            v_budat_high TYPE c LENGTH 10,                      "#EC NEEDED
            v_butxt      TYPE butxt.
      CLEAR wa_line.
    *Report Title
      CONCATENATE text-005 p_bukrs INTO v_title SEPARATED BY space.
      wa_line-typ = c_h.
      wa_line-key = ' '.
      wa_line-info = v_title.
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *Account Number
      wa_line-typ = c_s.
      wa_line-key = text-006.
      wa_line-info = p_racct.
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *G/L Account Description
      READ TABLE it_skat INTO wa_skat WITH KEY ktopl = v_ktopl BINARY SEARCH."#EC *
      IF sy-subrc EQ 0.
        v_desc = wa_skat-text.
      ENDIF.
      wa_line-typ = c_s.
      wa_line-key = text-007.
      wa_line-info = v_desc.
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *Fiscal Year from selection
      IF NOT p_gjahr IS INITIAL.
        wa_line-info = p_gjahr.
        wa_line-typ   = c_s.
        wa_line-key  = text-008.                                              "Fiscal Year
        APPEND wa_line TO fp_it_alv_top_of_page.
        CLEAR  wa_line.
      ENDIF.
    *Posting Date
      CONCATENATE s_budat-high4(2) s_budat-high6(2) s_budat-high+0(4) INTO wa_line-info SEPARATED BY c_slash.
      wa_line-typ   = c_s.
      wa_line-key  = text-009.                                               "Posting Date
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR  wa_line.
    *Company Code Description from selection
      IF NOT p_bukrs IS INITIAL.
        SELECT SINGLE butxt FROM t001
        INTO v_butxt WHERE bukrs EQ p_bukrs.
        IF sy-subrc EQ 0.
          wa_line-info = v_butxt.
          wa_line-typ  = c_s.
          wa_line-key  = text-010.                                              "Company Code Description
          APPEND wa_line TO fp_it_alv_top_of_page.
          CLEAR  wa_line.
        ENDIF.
      ENDIF.
    Printed Date
      wa_line-typ = c_s.
      wa_line-key = text-011.                                                 "Printed Date
      CONCATENATE  sy-datum+4(2)
                   sy-datum+6(2)
                   sy-datum(4) INTO wa_line-info SEPARATED BY c_slash.        "todays date
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR: wa_line.
    Printing Time
      wa_line-typ = c_s.
      wa_line-key = text-012.                                                 "Printing Time
      wa_line-info = sy-uzeit.
      CONCATENATE  sy-uzeit(2)
                   sy-uzeit+2(2)
                   sy-uzeit+4(2) INTO wa_line-info SEPARATED BY c_colon.      "current time
      APPEND wa_line TO fp_it_alv_top_of_page.
      CLEAR: wa_line.
    ENDFORM.                    " COMMENT_BUILD
    *&      Form  BUILD_FIELD_CATALOG
          Fieldcatalogue
         <--P_IT_FIELDCAT  text
    FORM build_field_catalog  CHANGING fp_it_fieldcat TYPE slis_t_fieldcat_alv.
    TAX JURISDICTION
      wa_fieldcat-col_pos      = c_pos_1.
      wa_fieldcat-reptext_ddic = text-013.                                    "TAX JURISDICTION
      wa_fieldcat-fieldname    = c_txjcd.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-outputlen    = '15'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    STATE
      wa_fieldcat-col_pos      = c_pos_2.
      wa_fieldcat-reptext_ddic = text-014.                                    "STATE
      wa_fieldcat-fieldname    = c_region.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-outputlen    = '40'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    CURRENT BALANCE
      wa_fieldcat-col_pos      = c_pos_3.
      wa_fieldcat-reptext_ddic = text-015.                                    "CURRENT BALANCE
      wa_fieldcat-fieldname    = c_currb.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-do_sum       = 'X'.
      wa_fieldcat-datatype     = 'CURR'.
      wa_fieldcat-outputlen    = '17'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    PERIOD CHANGE
      wa_fieldcat-col_pos      = c_pos_4.
      wa_fieldcat-reptext_ddic = text-016.                                    "PERIOD CHANGE
      wa_fieldcat-fieldname    = c_perch.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-do_sum       = 'X'.
      wa_fieldcat-datatype     = 'CURR'.
      wa_fieldcat-outputlen    = '17'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    PRIOR BALANCE
      wa_fieldcat-col_pos      = c_pos_5.
      wa_fieldcat-reptext_ddic = text-017.                                    "PRIOR BALANCE
      wa_fieldcat-fieldname    = c_prbal.
      wa_fieldcat-tabname      = c_table_name.
      wa_fieldcat-do_sum       = 'X'.
      wa_fieldcat-datatype     = 'CURR'.
      wa_fieldcat-outputlen    = '17'.
      APPEND  wa_fieldcat TO fp_it_fieldcat.
      CLEAR : wa_fieldcat.
    ENDFORM.                    " BUILD_FIELD_CATALOG
    *&      Form  DISPLAY_ALV
          ALV Grid Display
         -->P_IT_FINAL  text
    FORM display_alv  USING    fp_it_final TYPE ty_t_final.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = sy-repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      i_callback_top_of_page            = c_top_of_page
       i_callback_html_top_of_page       = c_top_of_page_split
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
         it_fieldcat                       = it_fieldcat
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
         i_save                            = 'A'
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = fp_it_final
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      IF sy-subrc EQ 0.                                         "#EC *
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " DISPLAY_ALV
    *&      Form  top_of_page_split
          Top of page for displaying the Text in Center
    FORM top_of_page_split USING fp_top TYPE REF TO cl_dd_document."#EC *
      TYPES: BEGIN  OF ty_text,
             text   TYPE sdydo_text_element,
             END    OF ty_text.
      TYPES: BEGIN  OF ty_text1,                        "AAAAAAAA
             text1  TYPE sdydo_text_element,
             END    OF ty_text1.
      DATA: v_tab          TYPE sdydo_text_table,
            v_area         TYPE REF TO cl_dd_area,
            v_text         TYPE sdydo_text_element,
            v_text1        TYPE sdydo_text_element,             "#EC NEEDED
            v_tab1         TYPE sdydo_text_table.
      DATA: it_text        TYPE TABLE OF ty_text,
            wa_text        TYPE ty_text,
            it_text1       TYPE TABLE OF ty_text1,
            wa_text1       TYPE ty_text1.
      DATA: v_title        TYPE string,
            v_accts_desc   TYPE string,
            v_year         TYPE string,
            v_comp_code    TYPE string,
            v_desc         TYPE char40,
            v_budat        TYPE char10,
            v_budat1       TYPE char10,
            v_butxt        TYPE butxt,
            v_time         TYPE char10,
            v_comma        TYPE c VALUE ','.
      CALL METHOD fp_top->initialize_document.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->vertical_split
        EXPORTING
          split_area  = fp_top
          split_width = '31%'
        IMPORTING
          right_area  = v_area.
      IF sy-subrc EQ 0.                                         "#EC NEEDED
    *MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *G/L Account Description
      READ TABLE it_skat INTO wa_skat WITH KEY ktopl = v_ktopl BINARY SEARCH.
      IF sy-subrc EQ 0.
        v_desc = wa_skat-text.
      ENDIF.
    *Company code Description
      IF NOT p_bukrs IS INITIAL.
        SELECT SINGLE butxt FROM t001
        INTO v_butxt WHERE bukrs EQ p_bukrs.
      ENDIF.
      CONCATENATE text-005 p_bukrs INTO v_title SEPARATED BY space.
      wa_text1-text1 = v_title.
      APPEND wa_text1 TO it_text1.
      v_tab1 = it_text1.
      CALL METHOD v_area->add_text
        EXPORTING
          text_table   = v_tab1
          fix_lines    = 'X'
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = cl_dd_document=>strong.                           "AAAAAA
      CHECK sy-subrc EQ 0.
      CONCATENATE text-006 p_racct v_comma text-007 v_desc INTO v_accts_desc SEPARATED BY space.
      CONCATENATE s_budat-high4(2) s_budat-high6(2) s_budat-high+0(4) INTO v_budat SEPARATED BY c_slash.
      CONCATENATE text-008 p_gjahr v_comma text-009 v_budat INTO v_year SEPARATED BY space.
      CONCATENATE text-010 v_butxt INTO v_comp_code SEPARATED BY space.
    wa_text-text = v_title.
    APPEND wa_text TO it_text.
      wa_text-text = v_accts_desc.
      APPEND wa_text TO it_text.
      wa_text-text = v_year.
      APPEND wa_text TO it_text.
      wa_text-text = v_comp_code.
      APPEND wa_text TO it_text.
      v_tab = it_text.
      CALL METHOD v_area->add_text
        EXPORTING
          text_table   = v_tab
          fix_lines    = 'X'
          sap_fontsize = cl_dd_document=>medium
          sap_emphasis = cl_dd_document=>medium.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_gap
        EXPORTING
          width = 0.
      CHECK sy-subrc EQ 0.
      CONCATENATE sy-datum4(2) sy-datum6(2) sy-datum+0(4) INTO v_budat1 SEPARATED BY c_slash.
      CALL METHOD fp_top->add_text
        EXPORTING
          text         = text-011
          sap_emphasis = 'STRONG'.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_gap
        EXPORTING
          width = 1.
      CHECK sy-subrc EQ 0.
      v_text = v_budat1.
      CALL METHOD fp_top->add_text
        EXPORTING
          text = v_text.
         sap_style = 'KEY'.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->new_line.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_text
        EXPORTING
          text         = text-012
          sap_emphasis = 'STRONG'.
      CHECK sy-subrc EQ 0.
      CALL METHOD fp_top->add_gap
        EXPORTING
          width = 1.
      CHECK sy-subrc EQ 0.
      CONCATENATE  sy-uzeit(2)
                   sy-uzeit+2(2)
                   sy-uzeit+4(2) INTO v_time SEPARATED BY c_colon.   "current time
      v_text = v_time.
      CALL METHOD fp_top->add_text
        EXPORTING
          text = v_text.
         sap_style = 'KEY'.
      CHECK sy-subrc EQ 0.
    ENDFORM.                    "top_of_page_split
    Thanks in Advance.
    Regards,
    Ramana

    Problem is with ur selection screen definition for s_budat
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_bukrs TYPE faglflexa-rbukrs OBLIGATORY, " Company Code
    p_gjahr TYPE faglflexa-gjahr OBLIGATORY. " Fiscal Year
    SELECT-OPTIONS: s_budat FOR faglflexa-budat OBLIGATORY " Posting Date
    NO-EXTENSION
    NO INTERVALS.
    PARAMETERS: p_racct TYPE faglflexa-racct OBLIGATORY. " G/L Accounts
    SELECTION-SCREEN END OF BLOCK b1.
    Here u r defining  s_budat like parameter with NO-EXTENSION
    NO INTERVALS. additions.
    So that means it should contain only one record in it. As s_budat is nothing but a range table with headerline so this entry should be contained in the body as well as in the header.
    But in AT SELECTION-SCREEN ON s_budat. u r again entering a 2nd record if date is not 01.
    AT SELECTION-SCREEN ON s_budat.
    DATA : v_year(4) TYPE c,
    v_month(2) TYPE c,
    v_date(2) TYPE c. "#EC NEEDED
    *if date ne 01 converting date to '01'
    READ TABLE s_budat.
    IF s_budat-low+6(2) NE c_one. << Here u r checking the header not the body
    v_year = s_budat-low.
    v_month = s_budat-low+4(2).
    v_date = s_budat-low+6(2).
    s_budat-high = s_budat-low.
    CLEAR s_budat-low.
    CONCATENATE v_year c_one c_one INTO s_budat-low.
    s_budat-sign = 'I'.
    s_budat-option = 'BT'.
    APPEND s_budat.
    ENDIF.
    Due to these 2 records it is giving u error. So to avoid the problem u should read the body of the table and then modify the record.
    Read table s_budat index 1.
    IF s_budat-low+6(2) NE c_one.* << Here u r checking the header not the body
    v_year = s_budat-low.
    v_month = s_budat-low+4(2).
    v_date = s_budat-low+6(2).
    s_budat-high = s_budat-low.
    CLEAR s_budat-low.
    CONCATENATE v_year c_one c_one INTO s_budat-low.
    s_budat-sign = 'I'.
    s_budat-option = 'BT'.
    modify s_budat index sy-tabix.
    Regards,
    Joy.

  • Problem in linking F4 help in alv grid display.

    Hi,
         I am linking F4 help in my program.My program gets activated properly but i am getting runtime error as : DYNPRO_NOT_FOUND and short text as
    Dynpor existiert nicht.Please help me in removing this error.Below is the simple code in which i am getting the error for ur reference:
    Thanks.
    REPORT  ZALVF4.
    Global data definitions for ALV.......................................
    DATA : alvgrid TYPE REF TO cl_gui_alv_grid,
           custom_container TYPE REF TO cl_gui_custom_container,
           fieldcatalog TYPE lvc_t_fcat.
    table to contain fields that require f4...............................
    DATA : lt_f4 TYPE lvc_t_f4 WITH HEADER LINE.
    ok_code declaration...................................................
    DATA : ok_code TYPE sy-ucomm.
    Tables declaration....................................................
    TABLES : zharry.
    Types declaration.....................................................
    TYPES : BEGIN OF ty_emp,
      empid LIKE zharry-student,
      empname LIKE zharry-sname,
    END OF ty_emp.
    Internal table declaration............................................
    DATA : i_emp TYPE TABLE OF ty_emp.
    Workarea declaration..................................................
    DATA : wa_emp TYPE ty_emp.
    Selection screen parameters...........................................
    SELECT-OPTIONS : s_sno FOR zharry-student.
          CLASS lcl_event_handler DEFINITION
    CLASS lcl_event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS :
                 handle_on_f1 FOR EVENT onf1 OF cl_gui_alv_grid
                              IMPORTING e_fieldname es_row_no er_event_data,
                 handle_on_f4 for event onf4 of cl_gui_alv_grid
                              importing e_fieldname es_row_no er_event_data
    ENDCLASS.
          CLASS lcl_event_handler IMPLEMENTATION
    CLASS lcl_event_handler IMPLEMENTATION.
      METHOD handle_on_f1.
    custom f1 help for empid field.......................................
        IF e_fieldname = 'STUDENT'.
          CALL SCREEN 3001.
        ENDIF.
    to prevent processing of standard f1 help............................
        er_event_data->m_event_handled = 'X'.
      ENDMETHOD.
      Method handle_on_f4.
    standard f4 help will be invoked......................................
      endmethod.
    ENDCLASS.
    start of selection....................................................
    START-OF-SELECTION.
      SELECT STUDENT SNAME FROM ZHARRY
                           INTO CORRESPONDING FIELDS OF TABLE i_emp
                           WHERE student IN s_sno.
      CALL SCREEN 3000.
    *&      Module  STATUS_3000  OUTPUT
          text
    MODULE status_3000 OUTPUT.
      SET PF-STATUS 'ZTOOL'.
      SET TITLEBAR 'ZTITLE'.
      IF alvgrid IS INITIAL.
        CREATE OBJECT custom_container
          EXPORTING
            container_name = 'ZCONTAINER'.
        CREATE OBJECT alvgrid
          EXPORTING
            i_parent = custom_container.
        PERFORM prepare_f4.
        CALL METHOD alvgrid->register_f4_for_fields
          EXPORTING
            it_f4  = lt_f4[]
    creating instance for event handler..................................
        DATA : event_handler TYPE REF TO lcl_event_handler.
        CREATE OBJECT event_handler.
        SET HANDLER event_handler->handle_on_f1 FOR alvgrid.
        SET HANDLER event_handler->handle_on_f4 FOR alvgrid.
    preparing field catalog..............................................
        PERFORM prepare_fieldcatalog CHANGING fieldcatalog.
        CALL METHOD alvgrid->set_table_for_first_display
         EXPORTING
           I_BYPASSING_BUFFER            =
           I_BUFFER_ACTIVE               =
           I_CONSISTENCY_CHECK           =
           I_STRUCTURE_NAME              =
           IS_VARIANT                    =
           I_SAVE                        =
           I_DEFAULT                     = 'X'
           IS_LAYOUT                     =
           IS_PRINT                      =
           IT_SPECIAL_GROUPS             =
           IT_TOOLBAR_EXCLUDING          =
           IT_HYPERLINK                  =
           IT_ALV_GRAPHICS               =
           IT_EXCEPT_QINFO               =
          CHANGING
             it_outtab                     = i_emp
             it_fieldcatalog               = fieldcatalog
           IT_SORT                       =
           IT_FILTER                     =
         EXCEPTIONS
           INVALID_PARAMETER_COMBINATION = 1
           PROGRAM_ERROR                 = 2
           TOO_MANY_LINES                = 3
           others                        = 4
        IF sy-subrc <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " STATUS_3000  OUTPUT
    preparing field catalog...............................................
    FORM prepare_fieldcatalog CHANGING i_fieldcatalog TYPE lvc_t_fcat.
      DATA : ls_fcat TYPE lvc_s_fcat.
      ls_fcat-fieldname = 'STUDENT'.
      ls_fcat-ref_table = 'ZHARRY'.
      ls_fcat-coltext = 'STUDENT NO'.
      APPEND ls_fcat TO i_fieldcatalog.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'SNAME'.
      ls_fcat-ref_table = 'ZHARRY'.
      ls_fcat-coltext = 'STUDENT NAME'.
      APPEND ls_fcat TO i_fieldcatalog.
    ENDFORM.
    *&      Module  USER_COMMAND_3000  INPUT
          text
    MODULE user_command_3000 INPUT.
      CASE ok_code.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_3000  INPUT
    *&      Module  USER_COMMAND_3001  INPUT
          text
    MODULE user_command_3001 INPUT.
      CASE ok_code.
        WHEN 'SAVE'.
          LEAVE TO SCREEN 0.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_3001  INPUT
    *&      Module  STATUS_3001  OUTPUT
          text
    MODULE status_3001 OUTPUT.
      SET PF-STATUS 'GUI'.
      SET TITLEBAR 'TITLE'.
    ENDMODULE.                 " STATUS_3001  OUTPUT
    preparing fields to be registered for f4 help.........................
    FORM prepare_f4.
      lt_f4-fieldname = 'EMPNAME'.
      lt_f4-register = 'X'.
      lt_f4-getbefore = 'X'.
      lt_f4-chngeafter = 'X'.
      APPEND lt_f4.
    ENDFORM.

    Hi,
         I am linking F4 help in my program.My program gets activated properly but i am getting runtime error as : DYNPRO_NOT_FOUND and short text as
    Dynpor existiert nicht.Please help me in removing this error.Below is the simple code in which i am getting the error for ur reference:
    Thanks.
    REPORT  ZALVF4.
    Global data definitions for ALV.......................................
    DATA : alvgrid TYPE REF TO cl_gui_alv_grid,
           custom_container TYPE REF TO cl_gui_custom_container,
           fieldcatalog TYPE lvc_t_fcat.
    table to contain fields that require f4...............................
    DATA : lt_f4 TYPE lvc_t_f4 WITH HEADER LINE.
    ok_code declaration...................................................
    DATA : ok_code TYPE sy-ucomm.
    Tables declaration....................................................
    TABLES : zharry.
    Types declaration.....................................................
    TYPES : BEGIN OF ty_emp,
      empid LIKE zharry-student,
      empname LIKE zharry-sname,
    END OF ty_emp.
    Internal table declaration............................................
    DATA : i_emp TYPE TABLE OF ty_emp.
    Workarea declaration..................................................
    DATA : wa_emp TYPE ty_emp.
    Selection screen parameters...........................................
    SELECT-OPTIONS : s_sno FOR zharry-student.
          CLASS lcl_event_handler DEFINITION
    CLASS lcl_event_handler DEFINITION.
      PUBLIC SECTION.
        METHODS :
                 handle_on_f1 FOR EVENT onf1 OF cl_gui_alv_grid
                              IMPORTING e_fieldname es_row_no er_event_data,
                 handle_on_f4 for event onf4 of cl_gui_alv_grid
                              importing e_fieldname es_row_no er_event_data
    ENDCLASS.
          CLASS lcl_event_handler IMPLEMENTATION
    CLASS lcl_event_handler IMPLEMENTATION.
      METHOD handle_on_f1.
    custom f1 help for empid field.......................................
        IF e_fieldname = 'STUDENT'.
          CALL SCREEN 3001.
        ENDIF.
    to prevent processing of standard f1 help............................
        er_event_data->m_event_handled = 'X'.
      ENDMETHOD.
      Method handle_on_f4.
    standard f4 help will be invoked......................................
      endmethod.
    ENDCLASS.
    start of selection....................................................
    START-OF-SELECTION.
      SELECT STUDENT SNAME FROM ZHARRY
                           INTO CORRESPONDING FIELDS OF TABLE i_emp
                           WHERE student IN s_sno.
      CALL SCREEN 3000.
    *&      Module  STATUS_3000  OUTPUT
          text
    MODULE status_3000 OUTPUT.
      SET PF-STATUS 'ZTOOL'.
      SET TITLEBAR 'ZTITLE'.
      IF alvgrid IS INITIAL.
        CREATE OBJECT custom_container
          EXPORTING
            container_name = 'ZCONTAINER'.
        CREATE OBJECT alvgrid
          EXPORTING
            i_parent = custom_container.
        PERFORM prepare_f4.
        CALL METHOD alvgrid->register_f4_for_fields
          EXPORTING
            it_f4  = lt_f4[]
    creating instance for event handler..................................
        DATA : event_handler TYPE REF TO lcl_event_handler.
        CREATE OBJECT event_handler.
        SET HANDLER event_handler->handle_on_f1 FOR alvgrid.
        SET HANDLER event_handler->handle_on_f4 FOR alvgrid.
    preparing field catalog..............................................
        PERFORM prepare_fieldcatalog CHANGING fieldcatalog.
        CALL METHOD alvgrid->set_table_for_first_display
         EXPORTING
           I_BYPASSING_BUFFER            =
           I_BUFFER_ACTIVE               =
           I_CONSISTENCY_CHECK           =
           I_STRUCTURE_NAME              =
           IS_VARIANT                    =
           I_SAVE                        =
           I_DEFAULT                     = 'X'
           IS_LAYOUT                     =
           IS_PRINT                      =
           IT_SPECIAL_GROUPS             =
           IT_TOOLBAR_EXCLUDING          =
           IT_HYPERLINK                  =
           IT_ALV_GRAPHICS               =
           IT_EXCEPT_QINFO               =
          CHANGING
             it_outtab                     = i_emp
             it_fieldcatalog               = fieldcatalog
           IT_SORT                       =
           IT_FILTER                     =
         EXCEPTIONS
           INVALID_PARAMETER_COMBINATION = 1
           PROGRAM_ERROR                 = 2
           TOO_MANY_LINES                = 3
           others                        = 4
        IF sy-subrc <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.
    ENDMODULE.                 " STATUS_3000  OUTPUT
    preparing field catalog...............................................
    FORM prepare_fieldcatalog CHANGING i_fieldcatalog TYPE lvc_t_fcat.
      DATA : ls_fcat TYPE lvc_s_fcat.
      ls_fcat-fieldname = 'STUDENT'.
      ls_fcat-ref_table = 'ZHARRY'.
      ls_fcat-coltext = 'STUDENT NO'.
      APPEND ls_fcat TO i_fieldcatalog.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'SNAME'.
      ls_fcat-ref_table = 'ZHARRY'.
      ls_fcat-coltext = 'STUDENT NAME'.
      APPEND ls_fcat TO i_fieldcatalog.
    ENDFORM.
    *&      Module  USER_COMMAND_3000  INPUT
          text
    MODULE user_command_3000 INPUT.
      CASE ok_code.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_3000  INPUT
    *&      Module  USER_COMMAND_3001  INPUT
          text
    MODULE user_command_3001 INPUT.
      CASE ok_code.
        WHEN 'SAVE'.
          LEAVE TO SCREEN 0.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_3001  INPUT
    *&      Module  STATUS_3001  OUTPUT
          text
    MODULE status_3001 OUTPUT.
      SET PF-STATUS 'GUI'.
      SET TITLEBAR 'TITLE'.
    ENDMODULE.                 " STATUS_3001  OUTPUT
    preparing fields to be registered for f4 help.........................
    FORM prepare_f4.
      lt_f4-fieldname = 'EMPNAME'.
      lt_f4-register = 'X'.
      lt_f4-getbefore = 'X'.
      lt_f4-chngeafter = 'X'.
      APPEND lt_f4.
    ENDFORM.

  • F4 help in ALV grid display

    hi,
    I need to allow F4 help to an alv field.
    The alv is designed using cl_gui_alv_grid.
    the reference values are in an internal table. how can i get these values for the help?
    thanks,
    Arindam.

    Hi,
    Refer to this link..Re: F4 help for OO ALV Grid

  • F4 Help in ALV output

    Hi ..
    In a output list of alv few fields should have F4 help functionality. I am using REUSE_ALV_GRID_DISPLAY.
    Please let me know how to get the functionality in grid display...
    More helpful if any one can send me sample program for it ...
    Please don't send BCALV* Programs ...
    Rewards for sure !!!
    Regards,
    Varma

    hi
    go to this
    http://www.****************/Tutorials/ALV/Edit/F4.htm
    regards
    Snehi
    Edited by: snehi chouhan on Jul 10, 2008 12:17 PM

  • Refreshing ALV output display

    Hi,
    I have a report with ALV .In the output success or error message gets displayed in a column based on certain conditions.The errors can be manually corrected.I
    f the errors are corrected and 'Refresh' button is pressed in my output,the error message displayed in the output  should disappear.
    As of now,this happens if the report is run again but i want this to happen just by clicking of refresh button.i.e. the entire report should be run again with the existing inputs entered in selection screen.
    If i try to call the same program using 'submit' spool gets created,but i want the output in the same page.
    Can you please tell me how this can be achieved.
    Regards,
    S.Subasree

    Hi Subasree,
    The following method call is used to refresh the data displayed within an ALV object grid:
         CALL method gd_tree->REFRESH_TABLE_DISPLAY.
    CALL METHOD gd_tree->set_table_for_first_display
        EXPORTING
          is_layout       = gd_layout
        CHANGING
          it_fieldcatalog = gd_fieldcat
          it_sort         = it_sortcat
          it_outtab       = it_report.
    CALL method gd_tree->REFRESH_TABLE_DISPLAY.
    CALL METHOD cl_gui_cfw=>flush.
    Hope this helps.
    Reward if helpful.
    Regards,
    Sipra

  • Align ALV Output Display to fit window resolution using cl_gui_custom_conta

    hi,
    my ALV Display is not fitting to the window screen for different resolutions.
    big monitor the screen display is too small and small monitor its fitting.
    I want to have DYNAMIC screen fit using   cl_gui_custom_container...
    is it possible??
    ags.

    Thanks Pawan,
    the link you provided had my exact solution.
    this is a very rare feature to know i believe since most of the people havnt faced it i guess.
    I will have to say the same thing as you said in the
    "Thanks Pawan, that explains everything.. sometime I just overlook the things..Thnaks again!!"
    ags.

  • Display of only Tool bar in ALV without displaying the table

    Hi Experts,
    I defined a custom container and split it into 2 containers and used one for Top of page and the other for displaying the ALV.
    Now I want to export the entire report to excel sheet. So is there any method for having the Tool bar set for the custom container without displaying the ALV??
    I want to get the tool bar for custom container as we will have an option to download to excel sheet.

    Hi,
    You could try creating an instance of the class 'CL_GUI_TOOLBAR' on the custom container.
    And then call the method 'add_button' to add the export to Excel functionality.
    Here is a sample code..
    call method toolbar->add_button
              exporting fcode       = func code
                            icon        = icon name
                           is_disabled = '  ' or 'X'
                           butn_type   = '0'
                           quickinfo   = quickinfo information.
    Try it .............
    Thanks,
    Ketan

Maybe you are looking for

  • Can't create a new network

    Hi, I installed my airport express software and configured my system to connect via airport to my DSL internet service using DHCP. I'm now connected to the internet wirelessly, but the airport setup assistant won't allow me to create a new network so

  • Compiling .as file to .swc

    I'd like to compile a .as file to .swc so I can reference it directly, but I'm sure how to go about it in Flex. I'm using the new Flash Builder 4 Beta, but have a working copy of Flex Builder 3 as well so either is fine. Thanks, David

  • How to know that my cache is disttributed (i mean partitioned or replicated

    How to know that my cache is distributed or replicated.. if it is not distributed then how can we make it as distributed(where do we need to change.) Thanks --Krishna..                                                                                  

  • Server in gdb hangs.....

    When I was trying to debug a server with gdb by attaching to the pid, my client call times out. If I detach from gdb this works fine. This is the message i get in gdb warning: reading register r3: No data 0xc01f48b0 in selectsys () from /lib/libc.2 H

  • Memory tuning

    Any memory tuning to improve window 7 enterprise performance? Pls advice