How we can get an interactive report  in alv grid display?

Hi experts
Plz tell me how we can get an interactive report in alv grid disply pls send me one sample code to understand this
thanks in advance

hi,
check this one
*& Report  ZALV_FIELD_GRID1
REPORT  ZALV_FIELD_GRID1
        NO STANDARD PAGE HEADING.
TABLES MARA.
type-pools :slis.
TYPES : BEGIN OF TMARA ,
        MATNR LIKE MARA-MATNR,
        MEINS LIKE MARA-MEINS,
        ERSDA LIKE MARA-ERSDA,
        color(4) type c,
        SEL type c,
        LIGHT TYPE C,
        END OF TMARA.
TYPES: BEGIN OF TMAKT,
       MATNR LIKE MAKT-MATNR,
       MAKTX LIKE MAKT-MAKTX,
       MAKTG LIKE MAKT-MAKTG,
       SEL TYPE C,
       COLOR(4),
       END OF TMAKT.
DATA:  ITAB TYPE TMARA OCCURS 0 WITH HEADER LINE,
       ITAB1 TYPE TMAKT OCCURS 0 WITH HEADER LINE,
       wa_fieldcat type slis_fieldcat_alv,
       fieldcat type slis_fieldcat_alv occurs 0,
       i_layout type slis_layout_alv,
       WA_LISTHEADER TYPE SLIS_LISTHEADER,
       i_LISTHEADER TYPE SLIS_LISTHEADER OCCURS 0,
       V_EVENTS TYPE SLIS_T_EVENT ,
       WA_EVENT TYPE SLIS_ALV_EVENT,
       I_TITLE_MARA TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED',
       I_TITLE_MAKT TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED',
       SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE,
       PRINT_CONT type slis_print_alv.
SELECTION SCREE
selection-screen  begin of block screen1  with frame title TEXT-001.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /32(35) COMM1.
SELECTION-SCREEN ULINE /27(35).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS MATNR FOR MARA-MATNR.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN COMMENT /30(50) COMM2.
SELECTION-SCREEN ULINE /27(40).
SELECTION-SCREEN SKIP.
SELECT-OPTIONS ERSDA FOR MARA-ERSDA.
SELECTION-SCREEN SKIP.
selection-screen  end of block screen1.
    INITIALIZATION
INITIALIZATION.
  MATNR-low = '23'.
  MATNR-high = '1000'.
  MATNR-option = 'BT'.
  MATNR-sign = 'I'.
  APPEND MATNR.
  ERSDA-low = '20030124'.
  ERSDA-high = '20050302' .
  APPEND ERSDA.
  PERFORM FILLFIELD.
  PERFORM FILLLAYOUT.
  PERFORM build_print_params.
  PERFORM FILL_SORT.
  PERFORM EVENT_CALL.
  PERFORM POPULATE_EVENT.
        SELECTION-SCREEN OUTPUT
AT SELECTION-SCREEN OUTPUT.
  comm1 ='SELECT MATERIAL NUMBER  RANGE'.
  comm2 ='SELECT MATERIAL CREATION DATE'.
           START-OF-SELECTION
START-OF-SELECTION.
  PERFORM READDATA.
  PERFORM POPDATA.
*&      Form  READDATA
      text
FORM READDATA .
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = MATNR-LOW
    IMPORTING
      OUTPUT = MATNR-LOW.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      INPUT  = MATNR-HIGH
    IMPORTING
      OUTPUT = MATNR-HIGH.
  SELECT MATNR
         ERSDA
         MEINS
         FROM MARA
         INTO CORRESPONDING FIELDS OF
        TABLE ITAB
        WHERE MATNR IN MATNR AND ERSDA IN ERSDA.
  LOOP AT ITAB.
    data id_color type i VALUE 1.
    data id_colors(2) type c.
    IF ITAB-MATNR < '000000000000000100'.
      ITAB-LIGHT = '1'.
    ELSEIF ITAB-MATNR < '000000000000000150' AND ITAB-MATNR >
   '000000000000000100' .
      ITAB-LIGHT = '2'.
    ELSE.
      ITAB-LIGHT = '3'.
    ENDIF.
    id_color = id_color + 1.
    if id_color > 7.
      id_color = 1.
    endif.
    id_colors = id_color.
    concatenate 'C' id_colors '10' into itab-color.
    modify itab.
    CLEAR ITAB.
  endloop.
ENDFORM.                    " READDATA
     Form  FILLFIELD
FORM FILLFIELD .
  WA_FIELDCAT-FIELDNAME = 'MATNR'.
  WA_FIELDCAT-KEY = 'X'.
  WA_FIELDCAT-COL_POS = '1'.
  WA_FIELDCAT-outputlen   = 20.
  WA_FIELDCAT-HOTSPOT = 'X'.
  wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
*WA_FIELDCAT-EMPHASIZE = 'C210'.
  APPEND WA_FIELDCAT TO FIELDCAT.
  clear wa_fieldcat.
  WA_FIELDCAT-FIELDNAME = 'MEINS'.
  WA_FIELDCAT-COL_POS = '2'.
*WA_FIELDCAT-EMPHASIZE = 'C510'.
  WA_FIELDCAT-outputlen   = 10.
  wa_fieldcat-seltext_m = 'UNIT'.
  APPEND WA_FIELDCAT TO FIELDCAT.
  clear wa_fieldcat.
  WA_FIELDCAT-FIELDNAME = 'ERSDA'.
  WA_FIELDCAT-COL_POS = '3'.
  WA_FIELDCAT-outputlen   = 15.
*WA_FIELDCAT-EDIT_MASK  = 'DD.MM.YYYY'.
*WA_FIELDCAT-EMPHASIZE = 'C710'.
  wa_fieldcat-seltext_m = 'CREAT DATE'.
  APPEND WA_FIELDCAT TO FIELDCAT.
  clear wa_fieldcat.
ENDFORM.                    "FILLFIELD
      Setup print parameters
form build_print_params.
  PRINT_CONT-reserve_lines = '3'.   "Lines reserved for footer
  PRINT_CONT-no_coverpage = 'X'.
endform.                    " BUILD_PRINT_PARAMS
     Form  POPDATA
FORM POPDATA .
  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            = 'USER-COMMAND'
     I_CALLBACK_TOP_OF_PAGE             = 'TOPPAGE'
  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
  I_CALLBACK_HTML_END_OF_LIST       = ' '
  I_STRUCTURE_NAME                  =
  I_BACKGROUND_ID                   = ' '
     I_GRID_TITLE                       = I_TITLE_MARA
  I_GRID_SETTINGS                   =
     IS_LAYOUT                          = I_LAYOUT
     IT_FIELDCAT                        = fieldcat
  IT_EXCLUDING                      =
  IT_SPECIAL_GROUPS                 =
    IT_SORT                           =  SORT[]
  IT_FILTER                         =
  IS_SEL_HIDE                       =
  I_DEFAULT                         = 'X'
  I_SAVE                            = ' '
  IS_VARIANT                        =
     IT_EVENTS                          = V_EVENTS
  IT_EVENT_EXIT                     =
   IS_PRINT                          = PRINT_CONT
    TABLES
      T_OUTTAB                          = ITAB
EXCEPTIONS
   PROGRAM_ERROR                     = 1
   OTHERS                            = 2
ENDFORM.                    " POPDATA
     Form  TOPPAGE
FORM TOPPAGE.
  REFRESH I_LISTHEADER.
  DATA: ld_lines type i,
        ld_linesc(10) type c,
        I_DATE(10) TYPE C,
        I_INFO LIKE WA_LISTHEADER-INFO.
  WA_LISTHEADER-TYP = 'H'.
  WA_LISTHEADER-INFO = 'MATERIAL DETAIL'.
  APPEND WA_LISTHEADER TO I_LISTHEADER.
  CLEAR WA_LISTHEADER.
  WA_LISTHEADER-TYP = 'S'.
  WA_LISTHEADER-KEY = 'DATE :'.
  CONCATENATE SY-DATUM+6(2) '.'
                       SY-DATUM+4(2) '.'
                       SY-DATUM(4) INTO I_DATE.
  WA_LISTHEADER-INFO = I_datE.
  APPEND WA_LISTHEADER TO I_LISTHEADER.
  CLEAR WA_LISTHEADER.
  describe table ITAB lines ld_lines.
  ld_linesc = ld_lines.
  concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
                    into I_INFO separated by space.
  WA_LISTHEADER-TYP  = 'A'.
  WA_LISTHEADER-INFO = I_INFO.
  append WA_LISTHEADER to I_LISTHEADER.
  clear: WA_LISTHEADER , I_INFO.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = I_LISTHEADER
      I_LOGO             = 'ENJOYSAP_LOGO'.
ENDFORM.                    "TOPPAGE
     Form  FILLLAYOUT
FORM FILLLAYOUT .
  i_layout-zebra = 'X'.
  i_layout-info_fieldname = 'COLOR'.
  i_layout-box_fieldname = 'SEL'.
  I_LAYOUT-lights_fieldname = 'LIGHT'.
  I_LAYOUT-EDIT ='X'.
  I_LAYOUT-colwidth_optimize = 'X'.
  I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
  I_LAYOUT-no_totalline = 'X'.
ENDFORM.                    "FILLLAYOUT
    Form  FILL_SORT
FORM FILL_SORT .
  SORT-DOWN = 'X'.
  SORT-SPOS = 1.
  SORT-FIELDNAME = 'MATNR'.
  SORT-tabname = 'MARA'.
  APPEND SORT.
ENDFORM.                    " FILL_SORT
     Form  EVENT_CALL
FORM EVENT_CALL .
  DATA: I_EVENT LIKE V_EVENTS.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      I_LIST_TYPE = 0
    IMPORTING
      ET_EVENTS   = V_EVENTS.
  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
FORM POPULATE_EVENT .
  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.
READ TABLE V_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
                                      INTO WA_EVENT.
IF SY-SUBRC = 0.
   move 'END_OF_PAGE' to WA_EVENT-FORM.
   MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
   WA_EVENT-NAME.
  endif.
  ENDIF.
ENDFORM.                    "POPULATE_EVENT
FORM END_OF_PAGE.
  write: sy-uline(50).
  skip.
  write:/40 'Page:', sy-pagno .
ENDFORM.
*&      Form  USER_COMMAND
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
  CASE R_UCOMM.
    WHEN '&IC1'.
      CASE RS_SELFIELD-FIELDNAME.
        when 'MATNR'.
          read table itab with key matnr = RS_SELFIELD-VALUE.
          if sy-subrc = 0.
            PERFORM DATA_RETRIEVAL_MAKT USING RS_SELFIELD-VALUE.
            PERFORM BUILD_FIELDCATLOG_MAKT.
            PERFORM FILLLAYOUT_MAKT.
            PERFORM DISPLAY_ALV_MAKT.
            CLEAR RS_SELFIELD.
          ENDIF.
      ENDCASE.
  ENDCASE.
ENDFORM.                    "user_command
     Form  DATA_RETRIEVAL_MAKT
FORM DATA_RETRIEVAL_MAKT USING TMATNR .
  SELECT MATNR
         MAKTX
         MAKTG
         UP TO 100 ROWS
         FROM MAKT
         INTO TABLE ITAB1
         WHERE SPRAS = 'EN' AND MATNR = TMATNR.
  LOOP AT ITAB1.
    data id_color type i VALUE 1.
    data id_colors(2) type c.
    id_color = id_color + 1.
    if id_color > 7.
      id_color = 1.
    endif.
    id_colors = id_color.
    concatenate 'C' id_colors '10' into itab1-color.
    modify itab1.
    CLEAR ITAB1.
  ENDLOOP.
ENDFORM.                    "DATA_RETRIEVAL_MAKT
     Form  FILLLAYOUT_MAKT
FORM FILLLAYOUT_MAKT .
  CLEAR I_LAYOUT.
  i_layout-zebra = 'X'.
  i_layout-info_fieldname = 'COLOR'.
  i_layout-box_fieldname = 'SEL'.
  I_LAYOUT-EDIT ='X'.
  I_LAYOUT-colwidth_optimize = 'X'.
  I_LAYOUT-window_titlebar = 'EXAMPLE FOR ALV GRID'.
ENDFORM.                    " LAYOUT_MAKT
    Form  BUILD_FIELDCATLOG_MAKT
FORM BUILD_FIELDCATLOG_MAKT .
  REFRESH FIELDCAT.
  WA_FIELDCAT-FIELDNAME = 'MATNR'.
  WA_FIELDCAT-KEY = 'X'.
  WA_FIELDCAT-COL_POS = '1'.
*WA_FIELDCAT-EDIT_MASK  = 'DD.MM.YYYY'.
  WA_FIELDCAT-EMPHASIZE = 'C510'.
  wa_fieldcat-seltext_m = 'MATERIAL NUMBER'.
  APPEND WA_FIELDCAT TO FIELDCAT.
  clear wa_fieldcat.
  WA_FIELDCAT-FIELDNAME = 'MAKTX'.
  WA_FIELDCAT-COL_POS = '2'.
  WA_FIELDCAT-EMPHASIZE = 'C710'.
  wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
  APPEND WA_FIELDCAT TO FIELDCAT.
  clear wa_fieldcat.
  WA_FIELDCAT-FIELDNAME = 'MAKTG'.
  WA_FIELDCAT-COL_POS = '3'.
  WA_FIELDCAT-EMPHASIZE = 'C210'.
  wa_fieldcat-seltext_m = 'MATERIAL DESCRIPTION'.
  APPEND WA_FIELDCAT TO FIELDCAT.
  clear wa_fieldcat.
ENDFORM.                    " BUILD_FIELDCATLOG_MAKT
     Form  DISPLAY_ALV_MAKT
FORM TOP-OF-PAGE.
  REFRESH I_LISTHEADER.
  DATA: ld_lines type i,
        ld_linesc(10) type c,
        I_DATE(10) TYPE C,
        I_INFO LIKE WA_LISTHEADER-INFO.
  WA_LISTHEADER-TYP = 'H'.
  WA_LISTHEADER-INFO = 'MATERIAL DESCRIPTION FOR SELECTED NUMBER'.
  APPEND WA_LISTHEADER TO I_LISTHEADER.
  CLEAR WA_LISTHEADER.
  WA_LISTHEADER-TYP = 'S'.
  WA_LISTHEADER-KEY = 'DATE :'.
  CONCATENATE SY-DATUM+6(2) '.'
                       SY-DATUM+4(2) '.'
                       SY-DATUM(4) INTO I_DATE.
  WA_LISTHEADER-INFO = I_datE.
  APPEND WA_LISTHEADER TO I_LISTHEADER.
  CLEAR WA_LISTHEADER.
  describe table ITAB1 lines ld_lines.
  ld_linesc = ld_lines.
  concatenate 'TOTAL NUMBER OF RECORD SELECTED: ' ld_linesc
                    into I_INFO separated by space.
  WA_LISTHEADER-TYP  = 'A'.
  WA_LISTHEADER-INFO = I_INFO.
  append WA_LISTHEADER to I_LISTHEADER.
  clear: WA_LISTHEADER , I_INFO.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY = I_LISTHEADER
      I_LOGO             = 'ENJOYSAP_LOGO'.
  I_END_OF_LIST_GRID       =
  I_ALV_FORM               =
ENDFORM.                    "TOP-OF-PAGE
*&      Form  DISPLAY_ALV_MAKT
      text
FORM DISPLAY_ALV_MAKT .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM     = SY-REPID
      I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
      I_GRID_TITLE           = I_TITLE_MAKT
      IS_LAYOUT              = I_LAYOUT
      IT_FIELDCAT                       = fieldcat
    TABLES
      T_OUTTAB               = ITAB1
    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_MAKT
Rewards points

Similar Messages

  • How to merge rows with similar values in alv grid display in webdynpro

    Hi experts,
                   i want to know about how to merge rows with similar values in alv grid display of webdynpro.grouping rows is possible in table display in webdynpro but i am not able to do row grouping in the alv grid display in webdynpro.
    kindly suggest.
    thanks ,
    Anita.

    Hi Anita,
    did you find a solution for this? I have opened a Thread, if you know the answer maybe you could help me out:
    Is there an ALV function similar to the TABLE Row grouping?
    Thanx in advanced!!!
    Kind Regards,
    Gerardo J

  • Interactive reports in ALV GRID

    Dear gurus,
    can we have interactive list in ALV ?
    Regards
    R.Rajendran

    Hi,
    Hope this will help You
    *& Report  ZAlv
    REPORT  ZAlv.
    TYPE-POOLS : SLIS.
    TABLES : KNA1,VBAK.
    DATA : BEGIN OF ITAB OCCURS 0 ,
           KUNNR LIKE KNA1-KUNNR,
           NAME1 LIKE KNA1-NAME1,
           LAND1 LIKE KNA1-LAND1,
           ORT01 LIKE KNA1-ORT01,
           END OF ITAB.
    DATA : BEGIN OF JTAB OCCURS 0,
          VBELN LIKE VBAK-VBELN ,
          ERNAM LIKE VBAK-ERNAM ,
          ERDAT LIKE VBAK-ERDAT,
          KUNNR LIKE VBAK-KUNNR,
          END OF JTAB .
    DATA : BEGIN OF JTAB1 OCCURS 0,
        VBELN LIKE VBAK-VBELN ,
        ERNAM LIKE VBAK-ERNAM ,
        ERDAT LIKE VBAK-ERDAT,
        KUNNR LIKE VBAK-KUNNR,
        END OF JTAB1.
    DATA : V_REPID LIKE SY-REPID,
           V_LAYOUT TYPE SLIS_LAYOUT_ALV,
          V_EVENTS TYPE SLIS_T_EVENT,
          V_PRINT TYPE SLIS_PRINT_ALV,
          L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA : FIELD1 TYPE SLIS_FIELDCAT_ALV.
    DATA : FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
    DATA : FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV.
    SELECT-OPTIONS : CNO FOR KNA1-KUNNR.
    START-OF-SELECTION.
      V_REPID  = SY-REPID .
      SELECT KUNNR NAME1 LAND1 ORT01 FROM KNA1 INTO CORRESPONDING FIELDS OF
      TABLE ITAB WHERE KUNNR IN CNO .
      SELECT VBELN ERNAM ERDAT KUNNR FROM VBAK INTO CORRESPONDING FIELDS OF
    TABLE JTAB  FOR ALL ENTRIES IN ITAB WHERE KUNNR = ITAB-KUNNR.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         I_PROGRAM_NAME               = V_REPID
         I_INTERNAL_TABNAME           = 'ITAB'
      I_STRUCTURE_NAME             =
      I_CLIENT_NEVER_DISPLAY       = 'X'
         I_INCLNAME                   = V_REPID
      I_BYPASSING_BUFFER           = 'X'
      I_BUFFER_ACTIVE              = ' '
        CHANGING
          CT_FIELDCAT                  = FIELDCAT1
    EXCEPTIONS
      INCONSISTENT_INTERFACE       = 1
      PROGRAM_ERROR                = 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 FIELDCAT1 INTO l_fieldcat.
       CASE l_fieldcat-fieldname.
         WHEN 'KUNNR'.
           l_fieldcaT-hotspot = 'X'.
           MODIFY FIELDCAT1 FROM l_fieldcat.
       ENDCASE.
    ENDLOOP.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             = 'X'
      I_BUFFER_ACTIVE                = ' '
         I_CALLBACK_PROGRAM             = V_REPID
      I_CALLBACK_PF_STATUS_SET       = ' '
         I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
      I_STRUCTURE_NAME               =
      IS_LAYOUT                      =
         IT_FIELDCAT                    = FIELDCAT1
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
      IT_SORT                        =
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
      I_SAVE                         = ' '
      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
      IR_SALV_LIST_ADAPTER           =
      IT_EXCEPT_QINFO                =
      I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = ITAB
       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.
    *&      Form  user_command
          text
         -->R_UCOMM      text
         -->RS_SELFIELD  text
    FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.
      IF RS_SELFIELD-FIELDNAME EQ 'KUNNR'.
        CASE R_UCOMM.
          WHEN '&IC1'.
            READ TABLE ITAB INDEX RS_SELFIELD-TABINDEX.
            REFRESH JTAB1.
           CLEAR JTAB1.
            LOOP AT JTAB WHERE KUNNR = ITAB-KUNNR.
              APPEND JTAB TO JTAB1.
            ENDLOOP.
            CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
             EXPORTING
               I_PROGRAM_NAME               = V_REPID
               I_INTERNAL_TABNAME           = 'JTAB1'
      I_STRUCTURE_NAME             =
      I_CLIENT_NEVER_DISPLAY       = 'X'
               I_INCLNAME                   = V_REPID
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
              CHANGING
                CT_FIELDCAT                  = FIELDCAT2
    EXCEPTIONS
      INCONSISTENT_INTERFACE       = 1
      PROGRAM_ERROR                = 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.
            CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
             EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             = 'X'
      I_BUFFER_ACTIVE                = ' '
               I_CALLBACK_PROGRAM             = V_REPID
      I_CALLBACK_PF_STATUS_SET       = ' '
      I_CALLBACK_USER_COMMAND        = ' '
      I_STRUCTURE_NAME               =
      IS_LAYOUT                      =
               IT_FIELDCAT                    = FIELDCAT2
      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
      IR_SALV_LIST_ADAPTER           =
      IT_EXCEPT_QINFO                =
      I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
              TABLES
                T_OUTTAB                       = JTAB1
    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.
        ENDCASE.
      ENDIF.
    ENDFORM.                    "user_command
    Regards,
    Sravanthi

  • How to devide the top of page in alv grid display

    hi all
    in the alv grid display am getting the page number and total number of pages in the left hand side
    but what i need is i need in the right hand side
    how to get that

    Hi,
    PLease refer to the code below:
    *& Report  ZDEMO_ALVGRID                                               *
    *& Example of a simple ALV Grid Report                                 *
    *& The basic requirement for this demo is to display a number of       *
    *& fields from the EKKO table.                                         *
    REPORT  zdemo_alvgrid                 .
    TABLES:     ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid,
          gt_events     type slis_t_event,
          gd_prntparams type slis_print_alv.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform build_events.
    perform build_print_params.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
    *       Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    * There are a number of ways to create a fieldcat.
    * For the purpose of this example i will build the fieldcatalog manualy
    * by populating the internal table fields individually and then
    * appending the rows. This method can be the most time consuming but can
    * also allow you  more control of the final product.
    * Beware though, you need to ensure that all fields required are
    * populated. When using some of functionality available via ALV, such as
    * total. You may need to provide more information than if you were
    * simply displaying the result
    *               I.e. Field type may be required in-order for
    *                    the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    *  fieldcatalog-do_sum      = 'X'.
    *  fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-do_sum      = 'X'.
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    *       Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    *  gd_layout-totals_only        = 'X'.
    *  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
    *                                         "click(press f2)
    *  gd_layout-zebra             = 'X'.
    *  gd_layout-group_change_edit = 'X'.
    *  gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
    *       Display report using ALV grid
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
                i_callback_user_command = 'USER_COMMAND'
    *            i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
    *            it_special_groups       = gd_tabgroup
                it_events               = gt_events
                is_print                = gd_prntparams
                i_save                  = 'X'
    *            is_variant              = z_template
           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  DATA_RETRIEVAL
    *       Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
      from ekpo
      into table it_ekko.
    endform.                    " DATA_RETRIEVAL
    * Form  TOP-OF-PAGE                                                 *
    * ALV Report Header                                                 *
    Form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
          wa_header type slis_listheader,
          t_line like wa_header-info,
          ld_lines type i,
          ld_linesc(10) type c.
    * Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    * Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      CONCATENATE  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
                   sy-datum(4) INTO wa_header-info.   "todays date
      append wa_header to t_header.
      clear: wa_header.
    * Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'Total No. of Records Selected: ' ld_linesc
                        into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
                it_list_commentary = t_header.
    *            i_logo             = 'Z_LOGO'.
    endform.
    *       FORM USER_COMMAND                                          *
    *       --> R_UCOMM                                                *
    *       --> RS_SELFIELD                                            *
    FORM user_command USING r_ucomm LIKE sy-ucomm
                      rs_selfield TYPE slis_selfield.
    * Check function code
      CASE r_ucomm.
        WHEN '&IC1'.
    *   Check field clicked on within ALVgrid report
        IF rs_selfield-fieldname = 'EBELN'.
    *     Read data table, using index of row user clicked on
          READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
    *     Set parameter ID for transaction screen field
          SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
    *     Sxecute transaction ME23N, and skip initial data entry screen
          CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDCASE.
    ENDFORM.
    *&      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.
    Thanks,
    Sriram Ponna.

  • Maximum number of character we can print in a column uing ALV grid display

    Hi frnds,
    My requirment is to print 500 charcter data in a column using ALV grid display.
    Could any body tell me is it possible and the maximum character it can i print in a column using ALV grid dispaly.
    Regards,
    Sandipan

    Hi Sandipan,
    refer notes 857823, 910300 and 959775. All these say there is a limitation of 128 characters.
    857823 - ALV grid: Strings with a maximum of 128 characters
    Symptom
    Entries in cells of the type CHAR or string are truncated after 128
    characters in the SAP GUI.
    also refer,
    ALV Grid Control (cl_gui_alv_grid), function module (Full-screen) Grid
    (Reuse_alv_grid_display, SAPLSLVC_FULLSCREEN), SAPGUI, back end, front end
    Cause and Prerequisites
    The data table that is sent to the front end only allows character values
    with the length 128.
    Solution
    This is the standard system behavior and cannot be changed.

  • How to provide Menu Options like BACK in ALV Grid display?

    Hi Guys,
              My problem is after displaying Multiple ALV grids using OO .I was not able to provide Back option and all those are Deactivated onj the Menu bar.So,How to provide those options.?We have a GreenButton with Symbol Correct on that Menu Bar.I was not able to see Back button and it is Deactivated.How to activate that Button.so that after displaying i can click on Back button and go to selection options.
    Thanks,
    Gopi.

    Hi Rich,
             I changed likie what u told.But still not working.I was not able to go to the Selection screen even after clicking F3 or F5 or back button.
    Standard Toolbar
    Icon Function Key                   Function Code        Function Text
         F3                             F3                   Back
         Alt-Arrow <                    F3                   Back
    Function Key Setting
    Function Key                   Icon Function Code        Function Text
    F5                                  F3                   Back
    Ctrl-N                              F3                   Back
               These are all the things which i kept in se41 tr code.
    Thanks,
    gopi.

  • How to set only one row selection  in ALV GRID DISPLAY

    How to set single row selection in grid display
    not multiselection.

    Hi,
    In the USER COMMAND, build the code to check the REFRESHED Data & then check the number of records with SEL  = 'X'.
    If more than single entry found, then raise an error message.
    Best regards,
    Prashant

  • How to fill field with test data in alv grid display

    hi all,
    i m adding field TEXT to the structure for displaying grid.
    i m modifying program like this
    DATA: ALV_OUTPUT  LIKE HRPDV_EXPIRED_Q OCCURS 0 WITH HEADER LINE.
    TYPES : BEGIN OF FS_OUTPUT .
          TEXT(20) TYPE C.
            INCLUDE STRUCTURE HRPDV_EXPIRED_Q.
    TYPES       TEXT(20) TYPE C.
    TYPES    END OF FS_OUTPUT.
    DATA: fs_output like table of alv_output.
    CLEAR WA_FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'TEXT'.
      WA_FIELDCAT-seltext_l = 'Abteilungs Struktur'.
      wa_fieldcat-tabname   = 'ALV_OUTPUT'.
      WA_FIELDCAT-COL_POS  = '13'.
      APPEND WA_FIELDCAT TO P_GT_FIELDCAT.
    this is what i have write for diapalying field. but my question is how to fill test data with field TEXT.I m writing like this but not executed in the aboove grid dispaly statement.
    loop at alv_output.
    *alv_output-text(20)  = 'abcdefgh'.
    *modify alv_output.
    *endloop.
    plz tell me how to fill test data

    hI..,
    Your table declaration has to be like this..
    TYPES : BEGIN OF FS_OUTPUT .
    INCLUDE STRUCTURE HRPDV_EXPIRED_Q.
    TYPES TEXT(20) TYPE C.
    TYPES END OF FS_OUTPUT.
    DATA: ALV_OUTPUT LIKE standard table of fs_output initial size 0.
    loop at alv_output <b>into fs_output</b>.
    <b>fs</b>_output-text(20) = 'abcdefgh'.
    <b>modify alv_output index sy-tabix from fs_output transporting text.</b>
    endloop.
    Now give this table alv_output to the GRID_DISPLAY function module..
    you will get the required output !!
    Plz do remember to close the thread when ur problem is solved !!
    reward all helpful answers !!
    regards,
    sai ramesh

  • Interactive report using alv.

    Hello all,
    I want to create an interactive report using alv grid display.I tried it using the normal method,as in using hide n sy-lsind but could not get the display.Canu please help me out with the problem.
    Thanks and Regards.
    Seema.

    hai Seema,
    for interactivereporting u can use get cursor fieldstatement.
    GET CURSOR FIELD <f> [VALUE <val>] .
    or try this one using the user command function.
    EXAMPLE:
    DEFINE m_fieldcat.
      add 1 to ls_fieldcat-col_pos.
      ls_fieldcat-fieldname   = &1.
      ls_fieldcat-ref_tabname = &2.
      append ls_fieldcat to lt_fieldcat.
    END-OF-DEFINITION.
    TABLES : vbak.                         " Sales Document: Header Data
    TYPE-POOLS: slis.                      " ALV Global types
    SELECT-OPTIONS :
      s_vkorg FOR vbak-vkorg,              " Sales organization
      s_kunnr FOR vbak-kunnr,              " Sold-to party
      s_vbeln FOR vbak-vbeln.              " Sales document
    SELECTION-SCREEN :
      SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.    "#EC NEEDED
    PARAMETERS p_max(2) TYPE n DEFAULT '20' OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    DATA:
    Data displayed in the first list
      BEGIN OF gt_vbak OCCURS 0,
        vkorg LIKE vbak-vkorg,             " Sales organization
        kunnr LIKE vbak-kunnr,             " Sold-to party
        vbeln LIKE vbak-vbeln,             " Sales document
        netwr LIKE vbak-netwr,             " Net Value of the Sales Order
      END OF gt_vbak,
    Data displayed in the second list
      BEGIN OF gt_vbap OCCURS 0,
        vbeln  LIKE vbap-vbeln,            " Sales document
        posnr  LIKE vbap-posnr,            " Sales document item
        matnr  LIKE vbap-matnr,            " Material number
        arktx  LIKE vbap-arktx,            " Short text for sales order item
        kwmeng LIKE vbap-kwmeng,           " Order quantity
        netwr  LIKE vbap-netwr,            " Net value of the order item
      END OF gt_vbap.
    INITIALIZATION.
      v_1 = 'Maximum of records to read'.
    START-OF-SELECTION.
      PERFORM f_read_data_vbak.
      PERFORM f_display_data_vbak.
         Form  f_read_data_vbak
    FORM f_read_data_vbak.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_vbak
               FROM vbak
                 UP TO p_max ROWS
              WHERE kunnr IN s_kunnr
                AND vbeln IN s_vbeln
                AND vkorg IN s_vkorg.
    ENDFORM.                               " F_READ_DATA_VBAK
         Form  f_display_data_vbak
    FORM f_display_data_vbak.
      DATA:
        ls_fieldcat TYPE slis_fieldcat_alv,
        lt_fieldcat TYPE slis_t_fieldcat_alv.
    Build the field catalog
      m_fieldcat 'VKORG' 'VBAK'.
      m_fieldcat 'KUNNR' 'VBAK'.
      m_fieldcat 'VBELN' 'VBAK'.
      m_fieldcat 'NETWR' 'VBAK'.
    Display the first list
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program      = sy-cprog
                i_callback_user_command = 'USER_COMMAND'
                it_fieldcat             = lt_fieldcat
           TABLES
                t_outtab                = gt_vbak.
    ENDFORM.                               " F_DISPLAY_DATA_VBAK
          FORM USER_COMMAND                                             *
    FORM user_command USING u_ucomm     LIKE sy-ucomm
                            us_selfield TYPE slis_selfield.     "#EC CALLED
      CASE u_ucomm.
        WHEN '&IC1'.
          READ TABLE gt_vbak INDEX us_selfield-tabindex.
          CHECK sy-subrc EQ 0.
          PERFORM f_read_data_vbap.        " Read data from VBAP
          PERFORM f_display_data_vbap.
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
         Form  f_read_data_vbap
    FORM f_read_data_vbap.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_vbap
               FROM vbap
              WHERE vbeln = gt_vbak-vbeln.
    ENDFORM.                               " F_READ_DATA_VBAP
         Form  f_display_data_vbap
    FORM f_display_data_vbap.
      DATA:
        ls_fieldcat TYPE slis_fieldcat_alv,
        lt_fieldcat TYPE slis_t_fieldcat_alv.
    Build the field catalog
      m_fieldcat 'VBELN'  'VBAP'.
      m_fieldcat 'POSNR'  'VBAP'.
      m_fieldcat 'MATNR'  'VBAP'.
      m_fieldcat 'ARKTX'  'VBAP'.
      m_fieldcat 'KWMENG' 'VBAP'.
      m_fieldcat 'NETWR'  'VBAP'.
    Display the second list
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                it_fieldcat = lt_fieldcat
           TABLES
                t_outtab    = gt_vbap.
    ENDFORM.   
    regards,
    praba.

  • How to get Grand Total Text in ALV GRID

    Hi Folks,
    I am able to get the SUBTOTAL TEXT .....But i need...
    How to get Grand Total Text in ALV GRID Display...
    Can any one give a Solution for this...

    Hi Surendar,
    Check out this code.. this is showing Total Text in Toal line in the very first column.
    REPORT  zsales_ord_det_1                        .
    TABLES: ztable_10.
    TYPE-POOLS: slis.
    DATA: BEGIN OF it OCCURS 0,
    srno(6) type c,
    name LIKE ztable_10-name,
    age LIKE ztable_10-age,
    END OF it.
    DATA : BEGIN OF it_temp OCCURS 0,
    name LIKE ztable_10-name,
    age LIKE ztable_10-age,
    END OF it_temp.
    DATA: i_fieldcat  TYPE slis_t_fieldcat_alv,
          wa_fieldcat TYPE  slis_fieldcat_alv.
    DATA: v_repid LIKE sy-repid,
           i_index TYPE STANDARD TABLE OF i WITH HEADER LINE,
           gs_layout TYPE slis_layout_alv,
           gd_layout TYPE slis_layout_alv,
           i_sort TYPE STANDARD TABLE OF slis_sortinfo_alv,
           wa_sort TYPE slis_sortinfo_alv.
    START-OF-SELECTION.
      v_repid = sy-repid.
      SELECT * FROM ztable_10 INTO TABLE it_temp.
      LOOP AT it_temp .
        it-srno = 'Total'.
        it-name = it_temp-name.
        it-age = it_temp-age.
        APPEND  it.
      ENDLOOP.
    END-OF-SELECTION.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
       EXPORTING
         i_program_name               = v_repid
         i_internal_tabname           = 'IT'
      I_STRUCTURE_NAME             =
      I_CLIENT_NEVER_DISPLAY       = 'X'
         i_inclname                   = v_repid
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
        CHANGING
          ct_fieldcat                  = i_fieldcat[]
       EXCEPTIONS
         inconsistent_interface       = 1
         program_error                = 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_fieldcat-row_pos = 1.
    wa_fieldcat-col_pos = 1.
    wa_fieldcat-fieldname = 'SRNO'.
    wa_fieldcat-tabname = it.
    append wa_fieldcat to i_fieldcat.
      LOOP AT i_fieldcat INTO wa_fieldcat.
        IF wa_fieldcat-fieldname = 'AGE'.
          wa_fieldcat-do_sum = 'X'.
          MODIFY i_fieldcat FROM wa_fieldcat.
        ENDIF.
       IF wa_fieldcat-fieldname = 'SRNO'.
         Hide this field so that it can display it's content i.e.
            Total text in Subtotal level
        wa_fieldcat-tech = 'X'.
          wa_fieldcat-no_out = 'X'.
          MODIFY i_fieldcat FROM wa_fieldcat TRANSPORTING tech no_out.
       ENDIF.
      ENDLOOP.
    wa_sort-spos = 1.
    wa_sort-fieldname = 'SRNO'.
    wa_sort-up = 'X'.
    wa_sort-subtot = 'X'.
    APPEND wa_sort TO i_sort.
      gd_layout-no_totalline = 'X'.
      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                = 'USER_COMMAND'
      I_CALLBACK_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_GRID_SETTINGS                          =
         is_layout                                      = gd_layout
         it_fieldcat                                      = i_fieldcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
         it_sort                           = i_sort
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      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
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = it
       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.
    Regards,
    Seema

  • Uploading logo into interactive reports and ALV rerports

    hi experts,
                how to upload logo into interactive reports and ALV reports.
                                        thank u.

    hi for  any thing in alv check these links,
    chk out these links..
    Simple ALV report
    http://www.sapgenie.com/abap/controls/alvgrid.htm
    http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    Go thru these programs they may help u to try on some hands on
    ALV Demo program
    BCALV_DEMO_HTML
    BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
    BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
    BCALV_GRID_DEMO Simple ALV Control Call Demo Program
    BCALV_TREE_DEMO Demo for ALV tree control
    BCALV_TREE_SIMPLE_DEMO
    BC_ALV_DEMO_HTML_D0100
    reward points if useful,
    regards,
    venkat.

  • Interactive reports using ALV

    can i make interactive reports using ALV, like - using push putton, radio button, check boxes in ALV???
    if yes, then can i find any example of them??

    Search the SCN before posting the basic questions.

  • Interactive report: third screen not displaying

    Hi Experts,
    I am doing a interactive report in ALV grid...and my requirement is
    when the user clicks on SPMON which is displayed on the initial screen the first screen
    should display and in first screen when the user clicks LIFNR second screen should display..
    I am able to display initial and first screen but second screen is not displaying...I am
    pasting a pinch of my code please have a look and advice me..
    FORM USER_COMM USING P_UCOMM LIKE SY-UCOMM
                               R_SELFIELD TYPE SLIS_SELFIELD.
      DATA : OK_CODE TYPE SY-UCOMM.
      OK_CODE = P_UCOMM.
      CASE OK_CODE.
        WHEN '&IC1'.
          IF R_SELFIELD-FIELDNAME = 'SPMON'.
            READ TABLE IT_TAB INDEX R_SELFIELD-TABINDEX.
            REFRESH IT_TAB_1[].
            CLEAR IT_TAB_1.
            LOOP AT IT_FIRST WHERE WERK EQ IT_TAB-WERK AND SPMON EQ IT_TAB-SPMON
                               AND ART = IT_TAB-ART.
              MOVE IT_FIRST-WERK       TO  IT_TAB_1-WERK.
              MOVE IT_FIRST-LIFNR      TO  IT_TAB_1-LIFNR.
              MOVE IT_FIRST-MEANQ      TO  IT_TAB_1-MEANQ.
              MOVE IT_FIRST-BASME_QM   TO  IT_TAB_1-BASME_QM.
               APPEND IT_TAB_1.
              CLEAR: IT_FIRST, IT_TAB_1.
            ENDLOOP.
            REFRESH IT_FIELDCAT1[].
            S_LAYOUT-ZEBRA = 'X' .
            S_LAYOUT-COLWIDTH_OPTIMIZE = 'X' .
            PERFORM FIELD_CATALOG1 TABLES IT_FIELDCAT1
            USING:
              'IT_TAB_1' 'WERK' ' ' 'PLANT' ' ' ' ',
              'IT_TAB_1' 'LIFNR' ' ' 'VENDOR NUMBER' ' ' ' ',
              'IT_TAB_1' 'MEANQ' ' ' 'MEANQSCORE' ' ' ' ',
              'IT_TAB_1' 'BASME_QM' ' ' 'BuM' ' ' ' ',
            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
             EXPORTING
               I_CALLBACK_PROGRAM                = SY-CPROG
               I_CALLBACK_USER_COMMAND             = 'USER_COMM_1'
               IS_LAYOUT                         = S_LAYOUT
               IT_FIELDCAT                       = IT_FIELDCAT1[]
             TABLES
                T_OUTTAB                          = IT_TAB_1[]
          ENDIF.
      ENDCASE.
    ENDFORM.                    "USER_COMM
    For second screen : which is not working
    FORM USER_COMM_1 USING P_UCOMM LIKE SY-UCOMM
                               R_SELFIELD TYPE SLIS_SELFIELD.
      DATA : OK_CODE TYPE SY-UCOMM.
      OK_CODE = P_UCOMM.
      CASE OK_CODE.
        WHEN '&IC2'.
          IF R_SELFIELD-FIELDNAME = 'LIFNR'.
            READ TABLE IT_TAB_1 INDEX R_SELFIELD-TABINDEX.
            REFRESH IT_TAB_2[].
            CLEAR IT_TAB_2.
            LOOP AT IT_SECOND WHERE WERK EQ IT_TAB_1-WERK AND
    SPMON EQ IT_TAB_1-SPMON AND ART = IT_TAB_1-ART AND LIFNR = IT_TAB_1-LIFNR.
              MOVE IT_SECOND-ART        TO  IT_TAB_2-ART.
              MOVE IT_SECOND-SPMON      TO  IT_TAB_2-SPMON.
              MOVE IT_SECOND-MATNR      TO  IT_TAB_2-MATNR.
                   APPEND IT_TAB_2.
              CLEAR: IT_SECOND, IT_TAB_2.
            ENDLOOP.
            REFRESH IT_FIELDCAT2[].
            S_LAYOUT-ZEBRA = 'X' .
            S_LAYOUT-COLWIDTH_OPTIMIZE = 'X' .
            PERFORM FIELD_CATALOG1 TABLES IT_FIELDCAT2
                    USING:
                      'IT_TAB_2' 'MATNR' ' ' 'MATERIAL NUMBER' ' ' ' ',
                      'IT_TAB_2' 'MEANQ' ' ' 'MEANQSCORE' ' ' ' ',
                      'IT_TAB_2' 'BASME_QM' ' ' 'BuM' ' ' ' ',
            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
             EXPORTING
               I_CALLBACK_PROGRAM                = SY-CPROG
               IS_LAYOUT                         = S_LAYOUT
               IT_FIELDCAT                       = IT_FIELDCAT2[]
              TABLES
                T_OUTTAB                          = IT_TAB_2[]
          ENDIF.
      ENDCASE.
    ENDFORM.                    "USER_COMM_1
    Please advice
    Karthik
    Edited by: Karthik R on Apr 29, 2009 12:22 PM

    Use both conditions in USER_COMM.
    FORM USER_COMM USING P_UCOMM LIKE SY-UCOMM
                               R_SELFIELD TYPE SLIS_SELFIELD.
      DATA : OK_CODE TYPE SY-UCOMM.
      OK_CODE = P_UCOMM.
      CASE OK_CODE.
        WHEN '&IC1'.
          IF R_SELFIELD-FIELDNAME = 'SPMON'.                      " Field name SPMON
            READ TABLE IT_TAB INDEX R_SELFIELD-TABINDEX.
            REFRESH IT_TAB_1[].
            CLEAR IT_TAB_1.
            LOOP AT IT_FIRST WHERE WERK EQ IT_TAB-WERK AND SPMON EQ IT_TAB-SPMON
                               AND ART = IT_TAB-ART.
              MOVE IT_FIRST-WERK       TO  IT_TAB_1-WERK.
              MOVE IT_FIRST-LIFNR      TO  IT_TAB_1-LIFNR.
              MOVE IT_FIRST-MEANQ      TO  IT_TAB_1-MEANQ.
              MOVE IT_FIRST-BASME_QM   TO  IT_TAB_1-BASME_QM.
               APPEND IT_TAB_1.
              CLEAR: IT_FIRST, IT_TAB_1.
            ENDLOOP.
            REFRESH IT_FIELDCAT1[].
            S_LAYOUT-ZEBRA = 'X' .
            S_LAYOUT-COLWIDTH_OPTIMIZE = 'X' .
            PERFORM FIELD_CATALOG1 TABLES IT_FIELDCAT1
            USING:
              'IT_TAB_1' 'WERK' ' ' 'PLANT' ' ' ' ',
              'IT_TAB_1' 'LIFNR' ' ' 'VENDOR NUMBER' ' ' ' ',
              'IT_TAB_1' 'MEANQ' ' ' 'MEANQSCORE' ' ' ' ',
              'IT_TAB_1' 'BASME_QM' ' ' 'BuM' ' ' ' ',
            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
             EXPORTING
               I_CALLBACK_PROGRAM                = SY-CPROG
               I_CALLBACK_USER_COMMAND             = 'USER_COMM_1'
               IS_LAYOUT                         = S_LAYOUT
               IT_FIELDCAT                       = IT_FIELDCAT1[]
             TABLES
                T_OUTTAB                          = IT_TAB_1[]
          ELSEIF R_SELFIELD-FIELDNAME = 'LIFNR'.              " ELSE FIELDNAME LIFNR
            READ TABLE IT_TAB_1 INDEX R_SELFIELD-TABINDEX.
            REFRESH IT_TAB_2[].
            CLEAR IT_TAB_2.
            LOOP AT IT_SECOND WHERE WERK EQ IT_TAB_1-WERK AND
            SPMON EQ IT_TAB_1-SPMON AND ART = IT_TAB_1-ART AND LIFNR = IT_TAB_1-LIFNR.
              MOVE IT_SECOND-ART        TO  IT_TAB_2-ART.
              MOVE IT_SECOND-SPMON      TO  IT_TAB_2-SPMON.
              MOVE IT_SECOND-MATNR      TO  IT_TAB_2-MATNR.
                   APPEND IT_TAB_2.
              CLEAR: IT_SECOND, IT_TAB_2.
            ENDLOOP.
            REFRESH IT_FIELDCAT2[].
            S_LAYOUT-ZEBRA = 'X' .
            S_LAYOUT-COLWIDTH_OPTIMIZE = 'X' .
            PERFORM FIELD_CATALOG1 TABLES IT_FIELDCAT2
                    USING:
                      'IT_TAB_2' 'MATNR' ' ' 'MATERIAL NUMBER' ' ' ' ',
                      'IT_TAB_2' 'MEANQ' ' ' 'MEANQSCORE' ' ' ' ',
                      'IT_TAB_2' 'BASME_QM' ' ' 'BuM' ' ' ' ',
            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
             EXPORTING
               I_CALLBACK_PROGRAM                = SY-CPROG
               IS_LAYOUT                         = S_LAYOUT
               IT_FIELDCAT                       = IT_FIELDCAT2[]
              TABLES
                T_OUTTAB                          = IT_TAB_2[]
          ENDIF.
      ENDCASE.
    ENDFORM.                    "USER_COMM
    Regards,
    Gurpreet

  • How we can get report for system shutdown for perticular year.

    Dear Friend,
    How we can get report for system shutdown for perticular year.
    i.e. i want to know at what time and what date system has been shutdown for ther of 2006.
    Thanks,
    Sachin

    Dear Sir,
    Thanks,
    But from system log file SM21 i have got only the time not date on which it has been shutdown and restart.
    And another thing is that 15 dats before Log file data is atomatically deleted, so cant get it back.
    Can you provide me is any another solution? i.e by heating perticular T code report come>
    Sachin

  • How to generate interactive report in alv

    hi,
      how to generate interactive report in alv,for this what are the requirements,
    give me one sample report.
                                                 thankyou.

    Hi,
    Chk these helpful links..
    ALV
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
    Simple ALV report
    http://www.sapgenie.com/abap/controls/alvgrid.htm
    http://wiki.ittoolbox.com/index.php/Code:Ultimate_ALV_table_toolbox
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    Go thru these programs they may help u to try on some hands on
    ALV Demo program
    BCALV_DEMO_HTML
    BCALV_FULLSCREEN_DEMO ALV Demo: Fullscreen Mode
    BCALV_FULLSCREEN_DEMO_CLASSIC ALV demo: Fullscreen mode
    BCALV_GRID_DEMO Simple ALV Control Call Demo Program
    BCALV_TREE_DEMO Demo for ALV tree control
    BCALV_TREE_SIMPLE_DEMO
    BC_ALV_DEMO_HTML_D0100
    Regards
    Anversha

Maybe you are looking for

  • Can I use a Time Capsule as an external hard drive only?

    I want to use a Time Capsule just to back up my Mac every so often, but I don't want to use any of its wifi features or plug it into my modem. How can I do this?

  • AET : Check box in personalize setting is not showing

    Hi Guys I'm trying to enable the AET functionality using the option Personalize->Personalize Settings from the header area which is top right side, but there I'm not able to see the check box with option enable configuration mode. Is any notes is mis

  • Need help generating variable name for timeout object

    Below is a function I am using to scale an object down and then hide it. It works fine on just one object, but if I try to run it on multiple objects at the same time, only the last object gets scaled down. I believe this is because the timeout list

  • P/E 10 - edit - Runtime Error - closes.

    Photoshop Elements 10 - error - Runtime - needs to close message in Edit. Organizer opens and works. Unable to resolve in windows. Unable to contact tech support in Adobe to resolve.

  • What is the proper setup for Gmail on iOS

    I have been struggling with this since I made the switch to iPhone in November.   I use gmail and would like my emails to be sent from my own domain.   Exchange no longer works.  Any help is appreciated