ALV footer problem

My ALV footer should contain at least 70 characters. I used the standard slis_listheader for my footer but the standard info (type slis_entry) is only 60 characters. Is there any way to build a footer without using the standard? Also, I don't want to change the codes below because it is used by other programs. If I have to adjust, it's in my main program.
The following are excerpts from my include program:
<i>data: wa_line TYPE slis_listheader.
new_footer_line 'S' 'END OF REPORT' sy-repid.
DEFINE new_footer_line.
  clear wa_line.
  wa_line-typ  = &1.
  wa_line-key  = &2.
  wa_line-info = &3.
  append wa_line to it_list_end_of_list.
END-OF-DEFINITION.</i>

Hi,
In this case, You cannot do anything as it was a main program and it effects all other programs.
Regards,
Hari krishna.

Similar Messages

  • Display Table in ALV Footer

    Hi All,
    I need to display a summary table in ALV footer with multiple columns. I am using event end of list and table with line type slis_listheader but this has limited columns.
    Any ideas?
    Thanks and Best Regards,
    Tyken

    Hi,
    Use block ALV refer below code
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
           EXPORTING
                i_callback_program = v_repid.
      wa_layout1-colwidth_optimize = 'X'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
           EXPORTING
                is_layout                  = wa_layout1
                it_fieldcat                = it_fieldcat[]
                i_tabname                  = 'it_final'
                it_events                  = it_events
           TABLES
                t_outtab                   = it_final
           EXCEPTIONS
                program_error              = 1
                maximum_of_appends_reached = 2
                OTHERS                     = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      LOOP AT it_fieldcat INTO wa_fieldcat.
        lv_index = sy-tabix.
        IF wa_fieldcat-fieldname = 'ERDAT'.
          wa_fieldcat-fieldname = 'TITLE'.
          wa_fieldcat-seltext_m = text-026.
          wa_fieldcat-outputlen = 10.
        ENDIF.
        MODIFY it_fieldcat FROM wa_fieldcat INDEX lv_index TRANSPORTING
                                            fieldname seltext_m outputlen.
        CLEAR : wa_fieldcat.
      ENDLOOP.
      wa_layout2-no_colhead = 'X'.
      wa_layout2-colwidth_optimize = 'X'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
           EXPORTING
                is_layout                  = wa_layout2
                it_fieldcat                = it_fieldcat[]
                i_tabname                  = 'it_total'
                it_events                  = it_event1
           TABLES
                t_outtab                   = it_total
           EXCEPTIONS
                program_error              = 1
                maximum_of_appends_reached = 2
                OTHERS                     = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      wa_layout3-no_colhead = 'X'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
           EXPORTING
                is_layout                  = wa_layout3
                it_fieldcat                = it_fieldcat2[]
                i_tabname                  = 'it_ship'
                it_events                  = it_event2
           TABLES
                t_outtab                   = it_ship
           EXCEPTIONS
                program_error              = 1
                maximum_of_appends_reached = 2
                OTHERS                     = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      IF NOT it_final IS INITIAL OR
         NOT it_total IS INITIAL OR
         NOT it_ship IS INITIAL.
        CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
             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.
      ENDIF.
    Regards,
    Prashant

  • About ALV Footer

    Hi All
           How to create ALV Footer.I would like to print two types.
    Each page want to ALV Footer and another report in required Last page only.
    Thanks & Regards
    hari

    HI,
    just go thru this code,it can help u.
    this is to print the footer by using events.
    DISPLAYING FOOTER DATA BY USING EVENTS
    REPORT ZCS_PRG7.
    TABLES VBAK.
    TYPE-POOLS SLIS.
    Data Declaration
    TYPES: BEGIN OF T_VBAK,
    VBELN TYPE VBAK-VBELN,
    ERDAT TYPE VBAK-ERDAT,
    ERNAM TYPE VBAK-ERNAM,
    AUDAT TYPE VBAK-AUDAT,
    VBTYP TYPE VBAK-VBTYP,
    NETWR TYPE VBAK-NETWR,
    VKORG TYPE VBAK-VKORG,
    VKGRP TYPE VBAK-VKGRP,
    LINE_COLOR(4) TYPE C,
    END OF T_VBAK.
    DATA: IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0,
    WA_VBAK TYPE T_VBAK.
    ALV Data Declaration
    DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
    GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
    GD_REPID TYPE SY-REPID,
    I_EVENTS TYPE SLIS_T_EVENT,
    W_EVENTS LIKE LINE OF I_EVENTS.
    DATA: I_COMMENT TYPE SLIS_T_LISTHEADER,
    WA_COMMENT TYPE SLIS_LISTHEADER.
    START-OF-SELECTION.
    PERFORM DATA_RETRIEVAL.
    PERFORM BLD_FLDCAT.
    PERFORM BLD_LAYOUT.
    PERFORM CALL_EVENTS.
    PERFORM DISPLAY_ALV_REPORT.
    Build Field Catalog for ALV Report
    FORM BLD_FLDCAT.
    FLDCAT-FIELDNAME = 'VBELN'.
    FLDCAT-SELTEXT_M = 'Sales Document'.
    FLDCAT-COL_POS = 0.
    *FLDCAT-EMPHASIZE = 'C411'.
    FLDCAT-OUTPUTLEN = 20.
    FLDCAT-KEY = 'X'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'ERDAT'.
    FLDCAT-SELTEXT_L = 'Record Date created'.
    FLDCAT-COL_POS = 1.
    FLDCAT-KEY = 'X'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'ERNAM'.
    FLDCAT-SELTEXT_L = 'Cteated Object Person Name'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'AUDAT'.
    FLDCAT-SELTEXT_M = 'Document Date'.
    FLDCAT-COL_POS = 3.
    FLDCAT-EMPHASIZE = 'C110'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'VBTYP'.
    FLDCAT-SELTEXT_L = 'SD Document category'.
    FLDCAT-COL_POS = 4.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'NETWR'.
    FLDCAT-SELTEXT_L = 'Net Value of the SO in Document Currency'.
    FLDCAT-COL_POS = 5.
    FLDCAT-OUTPUTLEN = 60.
    FLDCAT-DO_SUM = 'X'.
    FLDCAT-DATATYPE = 'CURR'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'VKORG'.
    FLDCAT-SELTEXT_L = 'Sales Organization'.
    FLDCAT-COL_POS = 6.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    FLDCAT-FIELDNAME = 'VKGRP'.
    FLDCAT-SELTEXT_M = 'Sales Group'.
    FLDCAT-COL_POS = 7.
    FLDCAT-EMPHASIZE = 'C801'.
    APPEND FLDCAT TO FLDCAT.
    CLEAR FLDCAT.
    ENDFORM.
    Build Layout for ALV Grid Report
    FORM BLD_LAYOUT.
    GD_LAYOUT-NO_INPUT = 'X'.
    GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
    ENDFORM.
    Display report using ALV grid
    FORM DISPLAY_ALV_REPORT.
    DATA T_EVENT TYPE SLIS_T_EVENT.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = T_EVENT.
    IF SY-SUBRC 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    GD_REPID = SY-REPID.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = GD_REPID
    IS_LAYOUT = GD_LAYOUT
    I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE_SPLIT'
    I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
    I_CALLBACK_HTML_END_OF_LIST = 'END_OF_LIST_HTML'
    IT_EVENTS = I_EVENTS
    IT_FIELDCAT = FLDCAT[]
    I_SAVE = 'X'
    TABLES
    T_OUTTAB = IT_VBAK
    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.
    ENDFORM.
    Retrieve data from VBAK table and populate itab IT_VBAK
    FORM DATA_RETRIEVAL.
    DATA LD_COLOR(1) TYPE C.
    SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG
    UP TO 100 ROWS
    FROM VBAK
    INTO TABLE IT_VBAK.
    LOOP AT IT_VBAK INTO WA_VBAK.
    LD_COLOR = LD_COLOR + 1.
    IF LD_COLOR = 8.
    LD_COLOR = 1.
    ENDIF.
    CONCATENATE 'C' LD_COLOR '10' INTO WA_VBAK-LINE_COLOR.
    MODIFY IT_VBAK FROM WA_VBAK.
    ENDLOOP.
    ENDFORM.
    FORM CALL_EVENTS.
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
    I_LIST_TYPE = 0
    IMPORTING
    ET_EVENTS = I_EVENTS
    EXCEPTIONS
    LIST_TYPE_WRONG = 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.
    IF NOT I_EVENTS[] IS INITIAL.
    READ TABLE I_EVENTS INTO W_EVENTS WITH KEY NAME = 'END_OF_LIST'.
    W_EVENTS-FORM = 'GENERATE_USERCOMMAND_FOOTER'.
    MODIFY I_EVENTS FROM W_EVENTS INDEX SY-TABIX.
    ENDIF.
    ENDFORM.
    FORM GENERATE_USERCOMMAND_FOOTER.
    CLEAR I_COMMENT[].
    WA_COMMENT-TYP = 'H'.
    WA_COMMENT-KEY = V_DATA.
    WA_COMMENT-INFO = 'CHANDU'(019).
    APPEND WA_COMMENT TO I_COMMENT.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    IT_LIST_COMMENTARY = I_COMMENT
    I_LOGO = ''
    I_END_OF_LIST_GRID = 'X'.
    ENDFORM.
    Regards,
    Padmam.

  • Footer problem in alv print

    Hi All,
    I have a problem in footer of alv printing.
    When i m taking a print of alv with a footer its omit blank line space whole. While i have a requirement to put some space line after alv and then footer should print.
    How can i achieve this ?

    Hi Rajesh,
      You mean printing is displaying the list or what ?
    If the problem is while displaying the list then do this.
      In subroutine of 'END_OF_LIST' before write statement you just use SKIP <lines>. Then blank space is displayed between ALV list and footer.
    Regards,
    Rajitha.

  • ALV footer not displayed, column header icons missing.

    Hi,
    My simple application uses the ALV grid, but the footer (showing the page number, next page icon, etc) does not display, even though there are pages and pages of data. This is in both Internet Explorer (6) and Firefox (I was expecting it to be an IE problem !).
    I have tried using the relevant method (though I think it should be visible by default):
    l_table->if_salv_wd_table_settings~set_footer_visible( value = IF_SALV_WD_C_TABLE_SETTINGS=>FOOTER_VISIBLE_TRUE ).
    but it still doesn't work. Other table settings methods do work (eg. setting the number of rows). Additionally, the icons for sorting columns do not appear in the column headers.
    I've searched on this forum, and looked for relevant OSS notes, but can't find anything. Any thoughts anyone ?
    Thanks,
    Nick.

    Hi
    Did u try with this code?
            lr_config->if_salv_wd_table_settings~set_visible_row_count( '5' ).
            lr_config->if_salv_wd_table_settings~SET_FOOTER_VISIBLE( '5' ).
    Regards
    Arun.P

  • Alv report problem

    hi,
    i have problem in ALV.
    my requirement is in a ALV report if i double click on a row it has to take me to another transaction ( say for eg vf03).
    how should i do it.
    john.

    hi
    good
    try this report
    MESSAGE-ID ZZ_9838                      .
    TYPE-POOLS: SLIS.
    *type declaration for values from ekko
    TYPES: BEGIN OF I_EKKO,
           EBELN LIKE EKKO-EBELN,
           AEDAT LIKE EKKO-AEDAT,
           BUKRS LIKE EKKO-BUKRS,
           BSART LIKE EKKO-BSART,
           LIFNR LIKE EKKO-LIFNR,
           END OF I_EKKO.
    DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,
          WA_EKKO TYPE I_EKKO.
    *type declaration for values from ekpo
    TYPES: BEGIN OF I_EKPO,
           EBELN LIKE EKPO-EBELN,
           EBELP LIKE EKPO-EBELP,
           MATNR LIKE EKPO-MATNR,
           MENGE LIKE EKPO-MENGE,
           MEINS LIKE EKPO-MEINS,
           NETPR LIKE EKPO-NETPR,
           END OF I_EKPO.
    DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,
          WA_EKPO TYPE I_EKPO .
    *variable for Report ID
    DATA: V_REPID LIKE SY-REPID .
    *declaration for fieldcatalog
    DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.
    declaration for events table where user comand or set PF status will
    be defined
    DATA: V_EVENTS TYPE SLIS_T_EVENT,
          WA_EVENT TYPE SLIS_ALV_EVENT.
    declartion for layout
    DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.
    declaration for variant(type of display we want)
    DATA: I_VARIANT TYPE DISVARIANT,
          I_VARIANT1 TYPE DISVARIANT,
          I_SAVE(1) TYPE C.
    *PARAMETERS : p_var TYPE disvariant-variant.
    *Title displayed when the alv list is displayed
    DATA:  I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.
    DATA:  I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.
    INITIALIZATION.
      V_REPID = SY-REPID.
      PERFORM BUILD_FIELDCATLOG.
      PERFORM EVENT_CALL.
      PERFORM POPULATE_EVENT.
    START-OF-SELECTION.
      PERFORM DATA_RETRIEVAL.
      PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.
      PERFORM DISPLAY_ALV_REPORT.
    *&      Form  BUILD_FIELDCATLOG
          Fieldcatalog has all the field details from ekko
    FORM BUILD_FIELDCATLOG.
      WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'EBELN'.
      WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'AEDAT'.
      WA_FIELDCAT-SELTEXT_M = 'DATE.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'BUKRS'.
      WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'BUKRS'.
      WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_EKKO'.
      WA_FIELDCAT-FIELDNAME = 'LIFNR'.
      WA_FIELDCAT-NO_OUT    = 'X'.
      WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "BUILD_FIELDCATLOG
    *&      Form  EVENT_CALL
      we get all events - TOP OF PAGE or USER COMMAND in table v_events
    FORM EVENT_CALL.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = V_EVENTS
    EXCEPTIONS
       LIST_TYPE_WRONG       = 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.
    ENDFORM.                    "EVENT_CALL
    *&      Form  POPULATE_EVENT
         Events populated for TOP OF PAGE & USER COMAND
    FORM POPULATE_EVENT.
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-FORM.
      ENDIF.
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'USER_COMMAND'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-NAME.
      ENDIF.
    ENDFORM.                    "POPULATE_EVENT
    *&      Form  data_retrieval
      retreiving values from the database table ekko
    FORM DATA_RETRIEVAL.
      SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.
    ENDFORM.                    "data_retrieval
    *&      Form  bUild_listheader
          text
         -->I_LISTHEADEtext
    FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.
      DATA HLINE TYPE SLIS_LISTHEADER.
      HLINE-INFO = 'this is my first alv pgm'.
      HLINE-TYP = 'H'.
    ENDFORM.                    "build_listheader
    *&      Form  display_alv_report
          text
    FORM DISPLAY_ALV_REPORT.
      V_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM                = V_REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
         I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
         I_GRID_TITLE                      = I_TITLE_EKKO
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         = ALV_LAYOUT
         IT_FIELDCAT                       = I_FIELDCAT[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
        i_default                         = 'ZLAY1'
         I_SAVE                            = 'A'
        is_variant                        = i_variant
         IT_EVENTS                         = V_EVENTS
        TABLES
          T_OUTTAB                          = IT_EKKO
    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.
    ENDFORM.                    "display_alv_report
    *&      Form  TOP_OF_PAGE
          text
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = IT_LISTHEADER
       i_logo                   =
       I_END_OF_LIST_GRID       =
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM    text
         -->,          text
         -->RS_SLEFIELDtext
    FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN '&IC1'.
          READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.
          PERFORM BUILD_FIELDCATLOG_EKPO.
          PERFORM EVENT_CALL_EKPO.
          PERFORM POPULATE_EVENT_EKPO.
          PERFORM DATA_RETRIEVAL_EKPO.
          PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.
          PERFORM DISPLAY_ALV_EKPO.
      ENDCASE.
    ENDFORM.                    "user_command
    *&      Form  BUILD_FIELDCATLOG_EKPO
          text
    FORM BUILD_FIELDCATLOG_EKPO.
      WA_FIELDCAT-TABNAME = 'IT_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'EBELN'.
      WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'EBELP'.
      WA_FIELDCAT-SELTEXT_M = 'LINE NO'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'MENGE'.
      WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'MEINS'.
      WA_FIELDCAT-SELTEXT_M = 'UOM'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'I_EKPO'.
      WA_FIELDCAT-FIELDNAME = 'NETPR'.
      WA_FIELDCAT-SELTEXT_M = 'PRICE'.
      APPEND WA_FIELDCAT TO I_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "BUILD_FIELDCATLOG_EKPO
    *&      Form  event_call_ekpo
      we get all events - TOP OF PAGE or USER COMMAND in table v_events
    FORM EVENT_CALL_EKPO.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         I_LIST_TYPE           = 0
       IMPORTING
         ET_EVENTS             = V_EVENTS
    EXCEPTIONS
      LIST_TYPE_WRONG       = 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.
    ENDFORM.                    "event_call_ekpo
    *&      Form  POPULATE_EVENT
           Events populated for TOP OF PAGE & USER COMAND
    FORM POPULATE_EVENT_EKPO.
      READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
      IF SY-SUBRC EQ 0.
        WA_EVENT-FORM = 'TOP_OF_PAGE'.
        MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
    WA_EVENT-FORM.
      ENDIF.
      ENDFORM.                    "POPULATE_EVENT
    *&      Form  TOP_OF_PAGE
          text
    FORM F_TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY       = IT_LISTHEADER
       i_logo                   =
       I_END_OF_LIST_GRID       =
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  USER_COMMAND
          text
         -->R_UCOMM    text
         -->,          text
         -->RS_SLEFIELDtext
    *retreiving values from the database table ekko
    FORM DATA_RETRIEVAL_EKPO.
    SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.
    ENDFORM.
    FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.
    DATA: HLINE1 TYPE SLIS_LISTHEADER.
    HLINE1-TYP = 'H'.
    HLINE1-INFO = 'CHECKING PGM'.
    ENDFORM.
    FORM DISPLAY_ALV_EKPO.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = V_REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = 'F_USER_COMMAND'
       I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      = I_TITLE_EKPO
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = I_FIELDCAT[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         =
       I_SAVE                            = 'A'
      IS_VARIANT                        =
       IT_EVENTS                         = V_EVENTS
      TABLES
        T_OUTTAB                          = IT_EKPO
    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.
    ENDFORM.
    implement your logic in it and i hope this will definitely work.
    thanks
    mrutyun

  • How to print Page No. in ALV footer.

    I am using the follwoing code but when I got print the page numbers are not displaying. I was copy the code from one of group message.
    Please tell where I am making mistakes means why page numbers are not displaying at footer.
    I want to print 30 rows on each page and display the page no. in footer of each page.
    REPORT  zift_test_alv.
    Report Name: PS Report                                               *
    Created by: IALI                                                     *
    Tables ( To support selection screen )
    TABLES:
           MSEG.
         S E L E C T I O N   S C R E E N        *
    *SELECT-OPTIONS: PostDate FOR BSIS-BUDAT.
    SELECTION-SCREEN: Begin of block B01 WITH FRAME TITLE TITLE01.
    SELECT-OPTIONS: so_plant                              FOR mseg-werks. " Plant
    SELECTION-SCREEN: end of block B01.
          D A T A   D E C L A R A T I O N       *
    Types
    types: begin of slis_print_alv1,
             no_print_selinfos(1) type c,  " display no selection infos
             no_coverpage(1) type c,                            "
             no_new_page(1) type c,                             "
             reserve_lines type i,         " lines reserved for end of page
             no_print_listinfos(1) type c, " display no listinfos
             no_change_print_params(1) type c,  " don't change linesize
             no_print_hierseq_item(1) type c,  "don't expand item
             print_ctrl type ALV_S_Pctl,
           end of slis_print_alv1.
    types: begin of slis_print_alv.
    include type alv_s_prnt.
    include type slis_print_alv1.
    types: end of slis_print_alv.
    types: begin of slis_alv_event,
            name(30),
            form(30),
          end of slis_alv_event.
    types: slis_t_event type slis_alv_event occurs 0.
    TYPES: BEGIN OF ty_mseg,
          WBS         type mseg-PS_PSP_PNR,
          MSEG_WERKS  TYPE MSEG-WERKS, " Plant
          ABLAD       TYPE MSEG-ABLAD, " Unloading Point
          WEMPF       TYPE MSEG-WEMPF, " Goods Receiptent
          MBLNR       TYPE MSEG-MBLNR, " Material Do Number
        end of ty_mseg.
    Internal tables and work areas
    DATA:
          IT_MSEG         type table of TY_MSEG,
          GV_TITLE       type LVC_TITLE.
    DATA: gt_events type slis_t_event,
    gd_prntparams type slis_print_alv.
         r_alv_template type ref to ZCL_BT_ALV_TEMPLATE.
    Data declarations for the ALV grid
    DATA:      r_grid      TYPE REF TO cl_gui_alv_grid.
    DATA:      alv_fieldcat TYPE slis_t_fieldcat_alv,
               wa_alv_fieldcat TYPE slis_fieldcat_alv,
               alv_layout   TYPE slis_layout_alv,
               gd_repid     LIKE sy-repid.
    Initialization.
      select single max( ddtext ) from dd02t into TITLE01 where tabname    = 'MSEG'
                                                            and ddlanguage = sy-langu."#EC *
          D A T A   S E L E C T I O N           *
    START-OF-SELECTION.
    SET COUNTRY 'PK'.
      " Getting data from MSEG
      SELECT APS_PSP_PNR AWERKS AABLAD AWEMPF A~MBLNR
          FROM mseg AS A
          INTO table it_mseg
          WHERE a~werks in so_plant.
          A~PS_PSP_PNR IN SO_WBS.
    *BREAK-POINT.
           A L V   P R O C E S S I N G          *
    END-OF-SELECTION.
    PERFORM alv_setup.
    PERFORM display_alv.
    FORM alv_setup.
      CLEAR wa_alv_fieldcat.
      REFRESH alv_fieldcat.
      wa_alv_fieldcat-key = ''.
      wa_alv_fieldcat-fieldname = 'WBS'.
      wa_alv_fieldcat-seltext_s = 'WBS'.
      wa_alv_fieldcat-seltext_m = 'WBS Element'.
      wa_alv_fieldcat-seltext_l = 'WBS Element'.
      APPEND wa_alv_fieldcat TO alv_fieldcat.
      wa_alv_fieldcat-key = ''.
      wa_alv_fieldcat-fieldname = 'ABLAD'.
      wa_alv_fieldcat-seltext_s = 'Un Ld Pnt'.
      wa_alv_fieldcat-seltext_m = 'Un Lding Pnt'.
      wa_alv_fieldcat-seltext_l = 'Un Loading Point'.
      APPEND wa_alv_fieldcat TO alv_fieldcat.
      wa_alv_fieldcat-key = ''.
      wa_alv_fieldcat-fieldname = 'MSEG_WERKS'.
      wa_alv_fieldcat-seltext_s = 'Plant'.
      wa_alv_fieldcat-seltext_m = 'Plant'.
      wa_alv_fieldcat-seltext_l = 'Plant'.
      APPEND wa_alv_fieldcat TO alv_fieldcat.
      wa_alv_fieldcat-key = ''.
      wa_alv_fieldcat-fieldname = 'WEMPF'.
      wa_alv_fieldcat-seltext_s = 'Good Rec'.
      wa_alv_fieldcat-seltext_m = 'Good Rec'.
      wa_alv_fieldcat-seltext_l = 'Good Receipt'.
      APPEND wa_alv_fieldcat TO alv_fieldcat.
      wa_alv_fieldcat-key = ''.
      wa_alv_fieldcat-fieldname = 'MBLNR'.
      wa_alv_fieldcat-seltext_s = 'Mat Doc'.
      wa_alv_fieldcat-seltext_m = 'Mat Doc'.
      wa_alv_fieldcat-seltext_l = 'Mat. Doc. No.'.
      APPEND wa_alv_fieldcat TO alv_fieldcat.
    ENDFORM.                    " alv_setup DMBTR
    FORM display_alv.
      gd_repid = sy-repid.
    Configure layout of screen
      alv_layout-colwidth_optimize = 'X'.
      alv_layout-zebra             = 'X'.
      alv_layout-no_min_linesize   = 'X'.
    Now call display function
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
               i_callback_program       = gd_repid
               i_callback_top_of_page   = 'TOP_OF_PAGE_SETUP' "Ref to form
               is_layout                = alv_layout
               it_fieldcat              = alv_fieldcat
              i_grid_title             = text-005
                  it_events = gt_events
                  is_print = gd_prntparams
                  i_save = 'X'
          TABLES
                t_outtab                = IT_mseg
         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.
    perform build_events.
    perform build_print_params.
    ENDFORM.                    " display_alv
    FORM top_of_page_setup.
      DATA: t_header TYPE slis_t_listheader,
            wa_header TYPE slis_listheader.
      wa_header-typ  = 'H'.
      wa_header-info = 'Test Report '.
      APPEND wa_header TO t_header.
      CLEAR wa_header.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = t_header.
    ENDFORM.                    " top_of_page_setup
    *& Form BUILD_EVENTS
    Build events table
    form build_events.
    data: ls_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
      exporting
      i_list_type = 0
      importing
      et_events = gt_events[].
      read table gt_events with key name =
      slis_ev_end_of_page
      into ls_event.
      if sy-subrc = 0.
      move 'END_OF_PAGE' to ls_event-form.
      append ls_event to gt_events.
    endif.
      read table gt_events with key name =
      slis_ev_end_of_list
      into ls_event.
      if sy-subrc = 0.
      move 'END_OF_LIST' to ls_event-form.
      append ls_event to gt_events.
      endif.
    endform. " BUILD_EVENTS
    *& Form BUILD_PRINT_ PARAMS
    Setup print parameters
    form build_print_params.
    gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
    gd_prntparams-no_coverpage = 'X'.
    endform. " BUILD_PRINT_ PARAMS
    *& Form END_OF_PAGE
    form END_OF_PAGE.
      data: listwidth type i,
      ld_pagepos(10) type c,
      ld_page(10) type c.
      write: sy-uline(50) .
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    *& Form END_OF_LIST
    form END_OF_LIST.
      data: listwidth type i,
      ld_pagepos(10) type c,
      ld_page(10) type c.
      skip.
      write:/40 'Page:', sy-pagno .
    endform.
    Regards
    Iftikhar Ali
    Islamabad

    Hi, 
             just populate ur eventcat  like this , may be this can help u
    form zf_eventcat  using    p_it_eventcat type slis_t_event.
      data l_eventcat type slis_alv_event.
      clear l_eventcat.
    *Get all the events.
      call function 'REUSE_ALV_EVENTS_GET'
        exporting
          i_list_type     = 0
        importing
          et_events       = p_it_eventcat
        exceptions
          list_type_wrong = 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.
    TOP-OF-PAGE FORM
      clear l_eventcat.
      read table p_it_eventcat into l_eventcat with key
                              name = slis_ev_top_of_page.
      if sy-subrc = 0.
        move 'ZF_TOP_OF_PAGE' to l_eventcat-form.
        modify p_it_eventcat from l_eventcat index sy-tabix
                                             transporting form.
      endif.
    PF_STATUS_SET FORM
      clear l_eventcat.
      read table p_it_eventcat into l_eventcat with key
                              name = slis_ev_pf_status_set.
      if sy-subrc = 0.
        move 'ZF_PF_STATUS_SET' to l_eventcat-form.
        modify p_it_eventcat from l_eventcat index sy-tabix
                                          transporting form.
      endif.
    USER_COMMAND FORM
      clear l_eventcat.
      read table p_it_eventcat into  l_eventcat with key
                               name = slis_ev_user_command.
      if sy-subrc = 0.
        move 'ZF_USER_COMMAND' to  l_eventcat-form.
        modify p_it_eventcat from l_eventcat index sy-tabix
                                          transporting form.
      endif.
    endform.                    " zf_eventcat
    reward if helpful

  • ALV GRID Problem with reading contents

    Hi there! I'm quite new with ABAP and I have some problems with the syntax of it. Maybe I should first describe my aim and then I'll show you my code.
    1. I read contents from two database tables, called 'zbc_dan_registry' and 'zbc_dan_category'.
    'zbc_dan_registry' has 2 columns: name, value.
    zbc_dan_category' has 1 column: category.
    Now I want to have an ALV Grid, that displays the contents of 'zbc_dan_registry' and one additional column with dropdown fields, where the user can select a category for each row. This is, what my code already does.
    Now I want to save the contents of the whole table in a new table 'zbc_dan_registrz' (you see: 'registrz', not 'registry'!) with 3 columns:
    name, category, value.
    My problem is, how can I read the contents of the ALV Grid, with the user selected category for each row, and save them in an internal table? I've tried to adapt the code of "BCALV_EDIT_04", but I don't get it running.
    Some detailled help would be great, you know, I'm really working hard to understand ABAP, but it's really hard for me. Thanks for your support and help!!
    Here's my code so far:
    *& Report  ZBC400_DAN_TESTNO4
    REPORT  ZBC400_DAN_TESTNO4.
    DATA: lt_registrz TYPE TABLE OF zbc_dan_regstrz WITH HEADER LINE,
          lt_category TYPE TABLE OF zbc_dan_category WITH HEADER LINE,
          ls_category TYPE zbc_dan_category, "Struktur Kategorie
          ok_code LIKE sy-ucomm,
          container_r TYPE REF TO cl_gui_custom_container,
          grid_r TYPE REF TO cl_gui_alv_grid,
          gc_custom_control_name TYPE scrfname VALUE 'CONTAINER_REG',
          fieldcat_r TYPE lvc_t_fcat,
          layout_r TYPE lvc_s_layo,
          lt_ddval TYPE lvc_t_drop,
          ls_ddval TYPE lvc_s_drop,
          c TYPE i.
    CLASS lcl_event_receiver DEFINITION DEFERRED.
      DATA g_verifier TYPE REF TO lcl_event_receiver.
      DATA: BEGIN OF gt_outtab OCCURS 0.
        INCLUDE STRUCTURE zbc_dan_regstrz.
        DATA: celltab TYPE lvc_t_styl.
      DATA: END OF gt_outtab.
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
      TYPES: BEGIN OF lt_registrz_key.         "Struktur mit den Schlüsseln der Tabelle 'Registry'
        TYPES:  name TYPE zbc_dan_name,
                value TYPE zbc_dan_value,
                category TYPE zbc_dan_cat.
      TYPES: END OF lt_registrz_key.
      TYPES:  ls_registrz_keys TYPE STANDARD TABLE OF lt_registrz_key,
              ls_registrz_table TYPE STANDARD TABLE OF zbc_dan_regstrz.
      METHODS: get_inserted_rows EXPORTING inserted_rows TYPE ls_registrz_keys.
      METHODS: refresh_delta_tables.
      METHODS: handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING er_data_changed.
    *  METHODS: get_inserted_rows EXPORTING inserted_rows TYPE registrz_keys.
    *  METHODS: refresh_delta_tables.
      PRIVATE SECTION.
      DATA: inserted_rows TYPE ls_registrz_keys.
      DATA: error_in_data TYPE c.
      METHODS: get_cell_values IMPORTING row_id TYPE int4 pr_data_changed TYPE REF TO cl_alv_changed_data_protocol EXPORTING key TYPE lt_registrz_key.
    ENDCLASS.
    CLASS lcl_event_receiver IMPLEMENTATION.
      METHOD handle_data_changed.
        DATA: ls_good TYPE lvc_s_modi,
              ls_new TYPE lvc_s_moce.
        error_in_data = space.
        IF error_in_data = 'X'.
          CALL METHOD er_data_changed->display_protocol.
        ENDIF.
      ENDMETHOD.
      METHOD get_cell_values.
        CALL METHOD pr_data_changed->get_cell_value
          EXPORTING i_row_id = row_id i_fieldname = 'NAME'
            IMPORTING e_value = key-name.
        CALL METHOD pr_data_changed->get_cell_value
          EXPORTING i_row_id = row_id i_fieldname = 'VALUE'
            IMPORTING e_value = key-value.
        CALL METHOD pr_data_changed->get_cell_value
          EXPORTING i_row_id = row_id i_fieldname = 'CATEGORY'
            IMPORTING e_value = key-category.
      ENDMETHOD.
      METHOD get_inserted_rows.
        inserted_rows = me->inserted_rows.
      ENDMETHOD.
      METHOD refresh_delta_tables.
        clear me->inserted_rows[].
      ENDMETHOD.
    ENDCLASS.
    START-OF-SELECTION.
        SELECT client name value
          INTO CORRESPONDING FIELDS OF TABLE lt_registrz FROM zbc_dan_regstry.
        SELECT category INTO CORRESPONDING FIELDS OF TABLE lt_category FROM zbc_dan_category.
    CALL SCREEN 0100.
    MODULE user_command_0100 INPUT.
      CASE ok_code.
        WHEN 'BACK'.
          SET SCREEN 0.
          MESSAGE ID 'BC400' TYPE 'S' NUMBER '057'.
        WHEN 'SAVE'.
          PERFORM save_data.
        WHEN OTHERS.
      ENDCASE.
    ENDMODULE.
    MODULE clear_ok_code OUTPUT.
      CLEAR ok_code.
    ENDMODULE.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'DYNPRO100'.
      SET TITLEBAR 'D0100'.
    ENDMODULE.
    MODULE display_alv OUTPUT.
      PERFORM display_alv.
    ENDMODULE.
    FORM display_alv.
    IF grid_r IS INITIAL.
    *----Creating custom container instance
      CREATE OBJECT container_r
      EXPORTING
        container_name = gc_custom_control_name
      EXCEPTIONS
        cntl_error = 1
        cntl_system_error = 2
        create_error = 3
        lifetime_error = 4
        lifetime_dynpro_dynpro_link = 5
        others = 6.
        IF sy-subrc <> 0.
    *--Exception handling
        ENDIF.
    *----Creating ALV Grid instance
        CREATE OBJECT grid_r
        EXPORTING
          i_parent = container_r
        EXCEPTIONS
          error_cntl_create = 1
          error_cntl_init = 2
          error_cntl_link = 3
          error_dp_create = 4
          others = 5.
          IF sy-subrc <> 0.
    *--Exception handling
          ENDIF.
          CREATE OBJECT g_verifier.
          SET HANDLER g_verifier->handle_data_changed FOR grid_r.
    *----Preparing field catalog.
          PERFORM prepare_field_catalog CHANGING fieldcat_r.
    *----Preparing layout structure
          PERFORM prepare_layout CHANGING layout_r.
    *----Here will be additional preparations
    *--e.g. initial sorting criteria, initial filtering criteria, excluding
    *--functions
          CALL METHOD grid_r->set_table_for_first_display
          EXPORTING
    * I_BUFFER_ACTIVE =
    * I_CONSISTENCY_CHECK =
    * I_STRUCTURE_NAME =
    * IS_VARIANT =
    * I_SAVE =
    * I_DEFAULT = 'X'
            is_layout = layout_r
    * IS_PRINT =
    * IT_SPECIAL_GROUPS =
    * IT_TOOLBAR_EXCLUDING =
    * IT_HYPERLINK =
          CHANGING
            it_outtab = lt_registrz[]
            it_fieldcatalog = fieldcat_r
    * IT_SORT =
    * IT_FILTER =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error = 2
            too_many_lines = 3
            OTHERS = 4.
          IF sy-subrc <> 0.
    *--Exception handling
          ENDIF.
          ELSE.
            CALL METHOD grid_r->refresh_table_display
    * EXPORTING
    * IS_STABLE =
    * I_SOFT_REFRESH =
          EXCEPTIONS
            finished = 1
            OTHERS = 2.
          IF sy-subrc <> 0.
    *--Exception handling
          ENDIF.
        ENDIF.
        CALL METHOD grid_r->register_edit_event
          EXPORTING
            i_event_id = cl_gui_alv_grid=>mc_evt_enter.
        CALL METHOD grid_r->register_edit_event
          EXPORTING
            i_event_id = cl_gui_alv_grid=>mc_evt_modified.
    ENDFORM.
    FORM prepare_field_catalog CHANGING pt_fieldcat TYPE lvc_t_fcat.
      DATA ls_fcat TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
      EXPORTING
        i_structure_name = 'ZBC_DAN_REGSTR2'
      CHANGING
        ct_fieldcat = pt_fieldcat[]
      EXCEPTIONS
        inconsistent_interface = 1
        program_error = 2
        OTHERS = 3.
      IF sy-subrc <> 0.
    *--Exception handling
      ENDIF.
      LOOP AT pt_fieldcat INTO ls_fcat.
        CASE ls_fcat-fieldname.
          WHEN 'NAME'.
            ls_fcat-coltext = 'Name'.
            ls_fcat-outputlen = '40'.
            MODIFY pt_fieldcat FROM ls_fcat.
          WHEN 'VALUE'.
            ls_fcat-coltext = 'Wert'.
            ls_fcat-outputlen = '30'.
            MODIFY pt_fieldcat FROM ls_fcat.
          WHEN 'CATEGORY'.
              LOOP AT lt_category into ls_category.
                ls_ddval-handle = 1.
                ls_ddval-value = ls_category-category.
    *            ls_ddval-style = cl_gui_alv_grid=>mc_style_enabled.
                APPEND ls_ddval TO lt_ddval.
             ENDLOOP.
             CALL METHOD grid_r->set_drop_down_table
                EXPORTING it_drop_down = lt_ddval.
            ls_fcat-edit = 'X'.
            ls_fcat-drdn_hndl = '1'.
            ls_fcat-coltext = 'Kategorie'.
            MODIFY pt_fieldcat FROM ls_fcat.
        ENDCASE.
      ENDLOOP.
    ENDFORM.
    FORM prepare_layout CHANGING ps_layout TYPE lvc_s_layo.
      ps_layout-zebra = 'X'.
      ps_layout-grid_title = 'Kategorie zur Registry hinzufügen'.
      ps_layout-smalltitle = 'X'.
    ENDFORM.
    FORM save_data.
      DATA: ls_ins_keys TYPE g_verifier->ls_registrz_keys,
            ls_ins_key TYPE g_verifier->lt_registrz_key,
            ls_registrz TYPE zbc_dan_regstrz,
            ls_outtab LIKE LINE OF gt_outtab,
            lt_instab TYPE TABLE OF zbc_dan_regstrz.
      CALL METHOD g_verifier->get_inserted_rows IMPORTING inserted_rows = ls_ins_keys.
      LOOP AT ls_ins_keys INTO ls_ins_key.
        READ TABLE gt_outtab INTO ls_outtab
        WITH KEY  name = ls_ins_key-name
                  value = ls_ins_key-value
                  category = ls_ins_key-category.
        IF sy-subrc = 0.
          MOVE-CORRESPONDING ls_outtab TO ls_registrz.
          APPEND ls_registrz TO lt_instab.
        ENDIF.
      ENDLOOP.
      INSERT zbc_dan_regstrz FROM TABLE lt_instab.
      CALL METHOD g_verifier->refresh_delta_tables.
      ENDFORM.

    Hi Hans,
    You raised the Question in the Webdynpro ABAP forum. Here its very diffcult to get the answer from this forum. Please close it here and raise the same question in ABAP General Forum there you will get faster and so many anwsers.
    Please close the question here.
    Warm Regards,
    Vijay

  • ALV flickering problem

    Hi,
    I have  flickering problem with ALV control (cl_gui_alv_grid).  My alv grid  control is not in edit mode.
    I am using ALV grid for event planning with drag drop operations, so there may be 1000+ rows sometimes at grid.
    Also I call refresh_table_display with soft_refresh and is_stable='XX.'
    (I call cfw=>set_new_ok_code to trigger PBO. refresh_table_display is being called at PBO )
    It flickers just a second or two after drop_complete but it is critical for usability.
    I think flickering happens because of scrolling, so I used set_scroll_via_id but nothing changed.
    Thanks.

    Hi Manu,
    I tried not to trigger PBO (Called refresh_table_display at PAI, commented set_new_ok_code)
    It does not help..
    (Same behaviour : se38-> BC_ALV_TEST_GRID_PERFORMANCE.Increase record count to 5000.Run.
    Scroll to the bottom of list.)
    Thank you..

  • ALV Grid Problem in WebGUI

    Hi All,
    We've created an ALV grid using classes in R3 and we're testing it in WebGUI.  All of those scenarios are working fine in R3 however the behavior in WebGUI is different.  We're encountering a problem wherein the cellstyles are not being reflected (eg. a particular cell for a particular row should be grayed out if a particular field has this value).  Furthermore, if we enter a value in this field, it should automatically populate values for other fields (eg. column name - PERNR.  Once pernr is entered; column name - NAME should have a value automatically).  Another thing is, the Refresh button is  missing in WebGUI.  One more problem is that the error message for that particular column was not shown.  We're using the add_protocol_entry method, so it should generate a pop-up screen.
    Any solution for all these problems?  Are these problems limitations of the ALV Grid in WebGUI? 
    We'll appreciate all your responses.  Thanks a lot.

    Have a look at example code: BCALV_GRID_01, where they suppress the error by catching it...
    If you are using the ABAP Grid Control (OO object), you can still create the ALV list as a spool listing for the background job.
    The easiest way to do this is to put all the create object statements and method calls for the custom container and ALV grid object inside a subroutine (for example, present_grid).
    All that is required is a simple check of the sy-batch variable to determine if the program is being executed in the foreground or background.
    e.g. if sy-batch is initial.
    call screen 0100.
    else.
    perform present_grid.
    endif.
    In a PBO module of screen 0100, the subroutine present_grid is also performed.
    The set_table_for_first_display method will be invoked in the routine present_grid, however, due to the job being executed in the background, the ALV list output will be written as spool output for the background job.

  • OO ALV buffer problem

    Hello all,
    When a workflow work item is executed, a function module is called that displays a screen.  The workitem calls a function module that displays an ALV on a screen.  The same ALV is displayed for 3 different workitems.
    I am changing the field catalog based on certain criteria to set an individual field to be editable/non-editable.  I can see that the edit field in the field catalog contains the appropriate value, but the grid does not reflect what is in the field catalog.
    The first workitem displays the ALV correctly.
    The second and third workitems display the ALV using fieldcat values from the first workitem.  The fieldcat contains the correct values when the grid is displayed using method "set_table_for_first_display".
    If I log off of SAP and log back on, the second workitem ALV displays with the correct value.  But the third workitem now display with the fieldcat values from the second workitem.
    If I log off of SAP and log back on, the third workitem ALV displays with the correct value.
    Any thought on what I need to do to correct this problem?
    This is the logic that creates and displays the ALV in the PBO of the screen of the function module.
    clear: il_fieldcat, l_layout.
      refresh: il_fieldcat.
      free: il_fieldcat.
      submit balvbufdel and return.                         " clear ALV buffer
      submit bcalv_buffer_del_shared and return. " clear ALV buffer
    *            Create an instance for the event handler
      create object gr_event_handler .
    *          Create an instance of the container displayed on screen 1400
      create object w_custom_container_1400
             exporting container_name = w_container_1400.
    *            Create an instance of the grid displayed in the container
      create object w_grid_1400
             exporting i_parent = w_custom_container_1400.
    * Build fieldcat - edit enabled.
      perform build_fieldcat_1400 changing il_fieldcat.
    *         >>  call method w_alv->set_frontend_fieldcatalog  after modifying the field ctalog <<
      call method w_grid_1400->set_frontend_fieldcatalog
       exporting
          it_fieldcatalog  =   il_fieldcat.
    * Disable generic ALV toolbar functions
      perform exclude_tb_functions_1400 changing lt_exclude.
    *  Set layout options:
      l_layout-grid_title = 'ZFXXU003'.
      l_layout-zebra      = 'X'.
      l_layout-edit_mode  = 'X'.  
      set handler gr_event_handler->handle_user_command for w_grid_1400 .
      set handler gr_event_handler->handle_toolbar      for w_grid_1400 .
      set handler gr_event_handler->handle_menu_button  for w_grid_1400 .
      set handler gr_event_handler->handle_data_changed for w_grid_1400 .
      data: w_is_variant type disvariant.
      w_is_variant-report = sy-cprog.
      w_is_variant-variant = '/DEFAULT'.
      call method w_grid_1400->set_table_for_first_display
        exporting
          i_buffer_active      = 'X'
          i_bypassing_buffer   = 'X'
          is_layout            = l_layout
          it_toolbar_excluding = lt_exclude
          i_save               = 'A'       " enable save option
          is_variant           = w_is_variant
        changing
          it_fieldcatalog      = il_fieldcat
          it_outtab            = il_outtab.
    * set editable cells to ready for input
      call method w_grid_1400->set_ready_for_input
        exporting
          i_ready_for_input = 1.
    * Register ENTER to raise event DATA_CHANGED.
      call method w_grid_1400->register_edit_event
        exporting
          i_event_id = cl_gui_alv_grid=>mc_evt_enter.
      create object w_event_receiver_1400.
      set handler w_event_receiver_1400->handle_data_changed
                  for w_grid_1400.
    Edited by: Bruce Tjosvold on Dec 8, 2010 4:21 PM
    Edited by: Bruce Tjosvold on Dec 8, 2010 4:24 PM
    Edited by: Bruce Tjosvold on Dec 8, 2010 5:04 PM

    Hi Bruce,
    You should avoid the creation of the ALV everytime that you need to change the fieldcatalog by calling the method "set_table_for_first_display". Instead, you should call the "refresh_table_display" method.
    Regarding the code that you provide to us, it should be something like this:
    if ...
    * Build fieldcat - edit enabled.
      perform build_fieldcat_1400 changing il_fieldcat.
    call method w_grid_1400->set_table_for_first_display
        exporting
          i_buffer_active      = 'X'
          i_bypassing_buffer   = 'X'
          is_layout            = l_layout
          it_toolbar_excluding = lt_exclude
          i_save               = 'A'       " enable save option
          is_variant           = w_is_variant
        changing
          *it_fieldcatalog      = il_fieldcat* "Here you are specifying your first catalog
          it_outtab            = il_outtab.
    else.
       call method w_grid_1400->refresh_table_display
    *     EXPORTING
    *     IS_STABLE =
    *     I_SOFT_REFRESH =
         EXCEPTIONS
          finished = 1
          OTHERS = 2 .
    endif.
    If you want at this point change the catalog, you should modify the values of it_fieldcat and update it on the existing ALV
      call method w_grid_1400->set_frontend_fieldcatalog
       exporting
          it_fieldcatalog  =   il_fieldcat.
    Best regards,
    Eric

  • ADF column footer problem

    hi all,
    im using Jdev 11.1.1.0.0. I have an inline table on my jspx page. I calculate the sum of one column in a managed bean. I want to display this value in table's footer section. So I added an input text to the column's footer and set the value from the managed bean. I have set the inline style of the table to width:100%;height:100%. But when the page renders, there is a big gap between the footer section and the last record. My table has only two records. Can anyone advice me on how to remove this gap?
    Thanks in advance,
    Nad

    Hi Frank,
    Thanks for replying. I tried your solution. It works fine. The gap between the last column and the column footer is now removed.
    But still there is a problem. Since it's an inline table, when the detail node (in detail stamp facet) is clicked, the detail table appears, but the full table is not adjusted to show the content. So in order to have a look at the detail table, we have to scroll inside. It is better if the table can be adjusted to view the detail table without much effort. I hope my problem is clear. Can this be done? Pls help....
    Thanks,
    Nad.

  • ALV Tree Problem with Checkboxes

    Hello,
    i've got a problem.
    I have an ALV-Tree and die ALV-Detaillist of the tree are type checkbox.
    That's working correct.
    But i want to fill initial data in the checkboxes but the checkbox isnt set.
    i've done as followed:
      CALL METHOD go_alv_tree->set_table_for_first_display
        EXPORTING
         I_STRUCTURE_NAME     =
         IS_VARIANT           =
         I_SAVE               =
          i_default            = abap_false
          is_hierarchy_header  = ls_header
         IS_EXCEPTION_FIELD   =
         IT_SPECIAL_GROUPS    =
         IT_LIST_COMMENTARY   =
         I_LOGO               =
         I_BACKGROUND_ID      =
         IT_TOOLBAR_EXCLUDING =
        CHANGING
          it_outtab            = <go_data_tab>
         IT_FILTER            =
          it_fieldcatalog      = lt_fcat.
    fieldcat are several fields all as checkbox.
    Then i get a component of the output structure and set a X.
    ASSIGN COMPONENT lv_help_arbpl OF STRUCTURE <go_data_struc>
                           TO <fs_arbl>.
          IF <fs_arbl> IS ASSIGNED.
            <fs_arbl> = lc_xfeld.
          ENDIF.
            CALL METHOD go_alv_tree->add_node
              EXPORTING
                i_relat_node_key     = lv_matnr
                i_relationship       = cl_gui_column_tree=>relat_last_child
                is_outtab_line       = <go_data_struc>
                is_node_layout       = ls_layout
             IT_ITEM_LAYOUT       =
                i_node_text          = lv_node_text
              IMPORTING
                e_new_node_key       = lv_period
              EXCEPTIONS
                relat_node_not_found = 1
                node_not_found       = 2
                OTHERS               = 3.
    in <go_data_struc> the fields which should be set, are set with X.
    But after i add all of my nodes and do CALL METHOD p_go_alv_tree->frontend_update, the checkbox is empty but there is an X in the field beside the checkbox.
    Thanks in advance.
    best regards,
    Dennis

    Ok i solved the problem.
    best regards,
    Dennis

  • ALV  Print  Problem

    Hi All,
        Problem regarding  Printing  the AVL  Grid.
         There are 15 column in the  grid , while printing it gives a pop up . 23 column are not printable. in  the page  format..
    How  to   get  all  the  column  printed..?.Full Points Ensured..
    Regards..
    Lakhan

    Hi Lakan,
      in ALV Grid (OR) Normal Reort we can print upto SOme limit only.You can n't print entire ALV grid.If you want to print whole content, down load file into some notepad (Excel Sheet) and try print.

  • ALV Sort problem

    Hi Experts,
    I have encountered a peculiar situation with respect to ALV, using sort. The problem is as follows:
    1. I have an internal table with 3 fields, upon which I am supposed to implement a sort criteria on the first two fields.
    2. My data is something like this, for ex:
    abc  1  a
    abc  1  b
    cde  1  a
    cde  1  b
    3. I have applied sort criteria, on the first two fields and passed to the fm "REUSE_ALV_GRID_DISPLAY'.
    4. Now the output is as follows:
    abc  1  a
      --  b
    cde --  a
    ---   --  b
    Here ( -- ) dotted lines mean the identical entry from the previous row...
    5. My requirement is I want the output as:
    abc  1  a
    ---  --   b
    cde  1  a
    ---   --  b 
    I mean the sort critetia of the second column should follow the first(adjacent column) sort criteria
    I hope it is clearly explained, and kindly let me know how this can be solved..
    Thank you,
    Shashi

    Hi Bala,
    The suggested solution is not giving the desired results..
    This happens because, when i sort the entries i mentioned earlier, remains the same, even after the two explicit sort statements on the internal table.
    Kindly check the same and let me know.
    Regards,
    Shashi

Maybe you are looking for

  • Adding of a row in FBL1N

    hello , the scenario is : i hav to add a row in t-code FBL1N(Display Vendor line item) ,n the role of this row is to display the previous day's closing balance of the party. waiting for valuable replies......... thanks n regds abaper

  • Badi or user exit for allocation run (J3AT)

    hi friends, we r using the SAP AFS in that i need to put the sales order value check for F status material while saving the allocation run. for that i need the badi or user exit where i will get the values of all the F status mateial before i save th

  • I CAN PRINT HP PAGES--- BUT NOT ON LINE PAGES

    I CAN PRINT HP PAGES BUT NOT ON LINE PAGES ERROR HAS OCCURRED IN SCRIPT ON THIS PAGE ERROR UNSPECIFIED

  • TS4644 When I click on iCoud Keychain settings nothing happens.

    Just got a new iPhone 4s and I set it up with little difficulty but when I go into Settings>iCloud Keychain the screen freezes.

  • Just got my N96, have some questions...

    Hi, I have just got my new Nokia N96 on Vodafone. It's a bit weird for me as I have been with Sony Ericsson for over 2 years so I need some pointers and some answers. In this first post, I'll just ask some general questions about my new phone. Is the