Can we display ICONS in ALV list?

Hi,
   Is it possible to display icons (ICON_GREEN_LIGHT) in the ALV list using the function module REUSE_ALV_LIST_DISPLAY.
   Is there any possibility of displaying a list using object oriented ALV?
Thanks and Regards,
Lakshmi.

Hi Lakshmi,
Just check this once.
REPORT  Zxxx  MESSAGE-ID ZZ                       .
*& TABLES DECLARATION                                                  *
TABLES: VBAK.
*& TYPE POOLS DECLARATION                                              *
TYPE-POOLS: SLIS.
*& INTERNAL TABLE DECLARATION                                          *
DATA: BEGIN OF ITAB OCCURS 0,
       ICON TYPE ICON-ID,
       VBELN LIKE VBAK-VBELN,
       AUDAT LIKE VBAK-AUDAT,
       VBTYP LIKE VBAK-VBTYP,
       AUART LIKE VBAK-AUART,
       AUGRU LIKE VBAK-AUGRU,
       NETWR LIKE VBAK-NETWR,
       WAERK LIKE VBAK-WAERK,
    END OF ITAB.
*INTERNAL TABLE FOR FIELD CATALOG
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
           WITH HEADER LINE,
*INTERNAL TABLE FOR EVENTS
DATA:    IT_EVENT TYPE SLIS_T_EVENT,
      WA_EVENT TYPE SLIS_ALV_EVENT,
*INTERNAL TABLE FOR SORTING
      IT_SORT TYPE SLIS_T_SORTINFO_ALV,
      WA_SORT TYPE SLIS_SORTINFO_ALV,
*INTERNAL TABLE FOR LAYOUT
      WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
*& VARIABLE DECLARATION                                                *
DATA : V_REPID TYPE SY-REPID,
       V_PAGNO(4) TYPE N,
       V_DATE(8)  TYPE C.
*& CONSTANTS                                                           *
CONSTANTS: C_X TYPE C VALUE 'X'.
*& SELECTION SCREEN                                                    *
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
                S_VBTYP FOR VBAK-VBTYP DEFAULT 'C'.
SELECTION-SCREEN: END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN  COMMENT 1(20) TEXT-003.
PARAMETERS: P_LIST RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-004.
PARAMETERS: P_GRID RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN: END OF BLOCK B2.
AT SELECTION-SCREEN.
  PERFORM VALIDATE_SCREEN.
*& START OF SELECTION                                               *
START-OF-SELECTION.
  CLEAR: ITAB, ITAB[].
V_REPID = SY-REPID.
  PERFORM GET_DATA.
  PERFORM DISPLAY_DATA.
*& END OF SELECTION                                                    *
END-OF-SELECTION.
*--DO ALV Process
  V_REPID = SY-REPID.
*--Sort the Output Fields
  PERFORM SORT_FIELDS.
*--Build Field catalog for the Output fields
PERFORM BUILD_FIELDCAT.
*--Set the Layout for ALV
  PERFORM SET_LAYOUT.
*&      Form  GET_DATA
      text
TO GET THE DATA FROM TABLES INTO ITAB
FORM GET_DATA .
  SELECT VBELN
         AUDAT
         VBTYP
         AUART
         AUGRU
         NETWR
         WAERK
         INTO CORRESPONDING FIELDS OF TABLE ITAB
         FROM VBAK
         WHERE VBELN IN S_VBELN AND
         AUDAT > '04.04.2005'
         AND NETWR > 0.
  LOOP AT ITAB.
    IF ITAB-NETWR < 10000.
      ITAB-ICON = '@08@'.
    ELSEIF ITAB-NETWR > 10000 AND ITAB-NETWR < 100000.
      ITAB-ICON = '@09@'.
    ELSEIF ITAB-NETWR > 100000.
      ITAB-ICON = '@0A@'.
    ENDIF.
    MODIFY ITAB INDEX SY-TABIX.
  ENDLOOP.
ENDFORM.                    " GET_DATA
*&      Form  sort_fields
FORM SORT_FIELDS .
  CLEAR WA_SORT.
  WA_SORT-FIELDNAME = 'VBTYP'.
  WA_SORT-SPOS = '1'.
  WA_SORT-UP = 'X'.
  APPEND WA_SORT TO IT_SORT.
  CLEAR WA_SORT.
  WA_SORT-FIELDNAME = 'NETWR'.
  WA_SORT-SPOS = '2'.
  WA_SORT-UP = 'X'.
  WA_SORT-SUBTOT = 'X'.
  APPEND WA_SORT TO IT_SORT.
ENDFORM.                    " sort_fields
*&      Form  build_fieldcat
*FORM BUILD_FIELDCAT .
IT_FIELDCAT-COL_POS    = '1'.
IT_FIELDCAT-FIELDNAME  = 'ICON'.
IT_FIELDCAT-KEY        = 'X'.
IT_FIELDCAT-OUTPUTLEN  = '10'.
IT_FIELDCAT-SELTEXT_L  = 'LIGHT'.
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '2'.
IT_FIELDCAT-FIELDNAME  = 'VBELN'.
IT_FIELDCAT-KEY        = 'X'.
IT_FIELDCAT-OUTPUTLEN  = '10'.
IT_FIELDCAT-SELTEXT_L  = 'SALES DOC NUMBER'(009).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '3'.
IT_FIELDCAT-FIELDNAME  = 'AUDAT'.
IT_FIELDCAT-KEY        = 'X'.
IT_FIELDCAT-OUTPUTLEN  = '4'.
IT_FIELDCAT-SELTEXT_L  = 'DOCUMENT DATE'(010).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '4'.
IT_FIELDCAT-FIELDNAME  = 'VBTYP'.
IT_FIELDCAT-KEY        = 'X'.
IT_FIELDCAT-OUTPUTLEN  = '4'.
IT_FIELDCAT-SELTEXT_L  = 'CATEGORY'(011).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '5'.
IT_FIELDCAT-FIELDNAME  = 'AUART'.
IT_FIELDCAT-OUTPUTLEN  = '4'.
IT_FIELDCAT-SELTEXT_L  = 'DOCUMENT TYPE'(012).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '6'.
IT_FIELDCAT-FIELDNAME  = 'AUGRU'.
IT_FIELDCAT-OUTPUTLEN  = '12'.
IT_FIELDCAT-SELTEXT_L  = 'Order reason'(013).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '7'.
IT_FIELDCAT-FIELDNAME  = 'NETWR'.
IT_FIELDCAT-OUTPUTLEN  = '12'.
IT_FIELDCAT-SELTEXT_L  = 'NET VALUE'(014).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
IT_FIELDCAT-COL_POS    = '8'.
IT_FIELDCAT-FIELDNAME  = 'WAERK'.
IT_FIELDCAT-OUTPUTLEN  = '12'.
IT_FIELDCAT-SELTEXT_L  = 'SD DOC CURR'(015).
APPEND IT_FIELDCAT.
CLEAR  IT_FIELDCAT.
*ENDFORM.                    " build_fieldcat
*&      Form  set_layout
FORM SET_LAYOUT .
  IF P_LIST = C_X .
    WA_LAYOUT-WINDOW_TITLEBAR = 'LIST DISPLAY'(016).
    WA_LAYOUT-ZEBRA = 'X'.
*-- ALV LIST DISPLAY
    PERFORM LIST_DISPLAY TABLES ITAB.
*-- ALV GRID DISPLAY
  ELSEIF P_GRID = C_X.
    WA_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'(017).
    WA_LAYOUT-ZEBRA = 'X'.
    PERFORM GRID_DISPLAY TABLES ITAB.
  ENDIF.
ENDFORM.                    " set_layout
*&      Form  list_display
FORM LIST_DISPLAY  TABLES   P_ITAB .
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = V_REPID
      IS_LAYOUT          = WA_LAYOUT
      IT_FIELDCAT        = IT_FIELDCAT[]
      IT_SORT            = IT_SORT[]
      I_SAVE             = 'U'
    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.
ENDFORM.                    " list_display
*&      Form  GRID_DISPLAY
FORM GRID_DISPLAY  TABLES   P_ITAB .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = V_REPID
      IS_LAYOUT          = WA_LAYOUT
      IT_FIELDCAT        = IT_FIELDCAT[]
      IT_SORT            = IT_SORT[]
      IT_EVENTS          = IT_EVENT
    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.
ENDFORM.                    " GRID_DISPLAY
*&      Form  VALIDATE_SCREEN
      text
-->  p1        text
<--  p2        text
FORM VALIDATE_SCREEN .
  DATA: LV_VBELN LIKE VBAK-VBELN.
  IF NOT S_VBELN IS INITIAL.
    SELECT VBELN
    INTO LV_VBELN
    UP TO 1 ROWS
    FROM VBAK
    WHERE VBELN IN S_VBELN.
    ENDSELECT.
    IF SY-SUBRC <> 0.
      MESSAGE E000 WITH 'INVALID SALES DOC'.
    ENDIF.
  ENDIF.
ENDFORM.                    " VALIDATE_SCREEN
*&      Form  display_data
      text
-->  p1        text
<--  p2        text
FORM DISPLAY_DATA .
  DEFINE M_FIELDCAT.
    ADD 1 TO WA_FIELDCAT-COL_POS.
    WA_FIELDCAT-FIELDNAME   = &1.
    WA_FIELDCAT-REF_TABNAME = 'VBAK'.
    WA_FIELDCAT-DO_SUM      = &2.
    WA_FIELDCAT-CFIELDNAME  = &3.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
  END-OF-DEFINITION.
DATA:
    ls_fieldcat TYPE slis_fieldcat_alv,
    lt_fieldcat TYPE slis_t_fieldcat_alv.
  m_fieldcat 'ICON' ''  ''.
  m_fieldcat 'VBELN' ''  ''.
  m_fieldcat 'AUDAT' ''  ''.
  m_fieldcat 'VBTYP' ''  ''.
  m_fieldcat 'AUART' ''  ''.
  m_fieldcat 'AUGRU' ''  ''.
  m_fieldcat 'NETWR' 'C' 'WAERK'.
  m_fieldcat 'WAERK' ''  ''.
ENDFORM.                    " display_data
hope it helps u
regards
laxmi

Similar Messages

  • I want to display icons in ALV

    Hi friends,
    I want to display icon indicators in ALV ???
    can anybody tell me ??/
    Thanks...

    Hi sturdy,
    this code will help u...copy paste and run...
    *& Report  ZFI_TEST                                                    *
    REPORT ZFI_ICON_TEST MESSAGE-ID zz .
    *& TABLES DECLARATION *
    TABLES: vbak.
    *& TYPE POOLS DECLARATION *
    TYPE-POOLS: slis.
    *& INTERNAL TABLE DECLARATION *
    DATA: BEGIN OF itab OCCURS 0,
    icon TYPE icon-id,                 "itab-icon = '@08@' -> Green ;     '@09@' -> Yellow ;     '@0A@' -> Red
    vbeln LIKE vbak-vbeln,
    audat LIKE vbak-audat,
    vbtyp LIKE vbak-vbtyp,
    auart LIKE vbak-auart,
    augru LIKE vbak-augru,
    netwr LIKE vbak-netwr,
    waerk LIKE vbak-waerk,
    END OF itab.
    *INTERNAL TABLE FOR FIELD CATALOG
    DATA: wa_fieldcat TYPE slis_fieldcat_alv,
    it_fieldcat TYPE slis_t_fieldcat_alv.
    IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
    WITH HEADER LINE,
    *INTERNAL TABLE FOR EVENTS
    DATA: it_event TYPE slis_t_event,
    wa_event TYPE slis_alv_event,
    *INTERNAL TABLE FOR SORTING
    it_sort TYPE slis_t_sortinfo_alv,
    wa_sort TYPE slis_sortinfo_alv,
    *INTERNAL TABLE FOR LAYOUT
    wa_layout TYPE slis_layout_alv.
    *& VARIABLE DECLARATION *
    DATA : v_repid TYPE sy-repid,
    v_pagno(4) TYPE n,
    v_date(8) TYPE c.
    *& CONSTANTS *
    CONSTANTS: c_x TYPE c VALUE 'X'.
    *& SELECTION SCREEN *
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
    s_vbtyp FOR vbak-vbtyp DEFAULT 'C'.
    SELECTION-SCREEN: END OF BLOCK b1.
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) text-003.
    PARAMETERS: p_list RADIOBUTTON GROUP rad1 DEFAULT 'X'.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN : BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) text-004.
    PARAMETERS: p_grid RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN : END OF LINE.
    SELECTION-SCREEN: END OF BLOCK b2.
    AT SELECTION-SCREEN.
      PERFORM validate_screen.
    *& START OF SELECTION *
    START-OF-SELECTION.
      CLEAR: itab, itab[].
    V_REPID = SY-REPID.
      PERFORM get_data.
      PERFORM display_data.
    *& END OF SELECTION *
    END-OF-SELECTION.
    *--DO ALV Process
      v_repid = sy-repid.
    *--Sort the Output Fields
      PERFORM sort_fields.
    *--Build Field catalog for the Output fields
    PERFORM BUILD_FIELDCAT.
    *--Set the Layout for ALV
      PERFORM set_layout.
    *& Form GET_DATA
    text
    TO GET THE DATA FROM TABLES INTO ITAB
    FORM get_data .
      SELECT vbeln
      audat
      vbtyp
      auart
      augru
      netwr
      waerk
      INTO CORRESPONDING FIELDS OF TABLE itab
      FROM vbak
      WHERE vbeln IN s_vbeln AND
      audat > '04.04.2005'
      AND netwr > 0.
      LOOP AT itab.
        IF itab-netwr < 10000.
          itab-icon = '@08@'.
        ELSEIF itab-netwr > 10000 AND itab-netwr < 100000.
          itab-icon = '@09@'.
        ELSEIF itab-netwr > 100000.
          itab-icon = '@0A@'.
        ENDIF.
        MODIFY itab INDEX sy-tabix.
      ENDLOOP.
    ENDFORM. " GET_DATA
    *& Form sort_fields
    FORM sort_fields .
      CLEAR wa_sort.
      wa_sort-fieldname = 'VBTYP'.
      wa_sort-spos = '1'.
      wa_sort-up = 'X'.
      APPEND wa_sort TO it_sort.
      CLEAR wa_sort.
      wa_sort-fieldname = 'NETWR'.
      wa_sort-spos = '2'.
      wa_sort-up = 'X'.
      wa_sort-subtot = 'X'.
      APPEND wa_sort TO it_sort.
    ENDFORM. " sort_fields
    *& Form set_layout
    FORM set_layout .
      IF p_list = c_x .
        wa_layout-window_titlebar = 'LIST DISPLAY'(016).
        wa_layout-zebra = 'X'.
    *-- ALV LIST DISPLAY
        PERFORM list_display TABLES itab.
    *-- ALV GRID DISPLAY
      ELSEIF p_grid = c_x.
        wa_layout-window_titlebar = 'GRID DISPLAY'(017).
        wa_layout-zebra = 'X'.
        PERFORM grid_display TABLES itab.
      ENDIF.
    ENDFORM. " set_layout
    *& Form list_display
    FORM list_display TABLES p_itab .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program = v_repid
          is_layout          = wa_layout
          it_fieldcat        = it_fieldcat[]
          it_sort            = it_sort[]
          i_save             = 'U'
        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.
    ENDFORM. " list_display
    *& Form GRID_DISPLAY
    FORM grid_display TABLES p_itab .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = v_repid
          is_layout          = wa_layout
          it_fieldcat        = it_fieldcat[]
          it_sort            = it_sort[]
          it_events          = it_event
        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.
    ENDFORM. " GRID_DISPLAY
    *& Form VALIDATE_SCREEN
    text
    --> p1 text
    <-- p2 text
    FORM validate_screen .
      DATA: lv_vbeln LIKE vbak-vbeln.
      IF NOT s_vbeln IS INITIAL.
        SELECT vbeln
        INTO lv_vbeln
        UP TO 1 ROWS
        FROM vbak
        WHERE vbeln IN s_vbeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'INVALID SALES DOC'.
        ENDIF.
      ENDIF.
    ENDFORM. " VALIDATE_SCREEN
    *& Form display_data
    text
    --> p1 text
    <-- p2 text
    FORM display_data .
      DEFINE m_fieldcat.
        add 1 to wa_fieldcat-col_pos.
        wa_fieldcat-fieldname = &1.
        wa_fieldcat-ref_tabname = 'VBAK'.
        wa_fieldcat-do_sum = &2.
        wa_fieldcat-cfieldname = &3.
        append wa_fieldcat to it_fieldcat.
      END-OF-DEFINITION.
      DATA:
      ls_fieldcat TYPE slis_fieldcat_alv,
      lt_fieldcat TYPE slis_t_fieldcat_alv.
      m_fieldcat 'ICON' '' ''.
      m_fieldcat 'VBELN' '' ''.
      m_fieldcat 'AUDAT' '' ''.
      m_fieldcat 'VBTYP' '' ''.
      m_fieldcat 'AUART' '' ''.
      m_fieldcat 'AUGRU' '' ''.
      m_fieldcat 'NETWR' 'C' 'WAERK'.
      m_fieldcat 'WAERK' '' ''.
    ENDFORM. " display_data[/code]

  • Display of 2 ALV List

    Hi,
      I am trying to display 2 ALV List at a time...Can anyone please tellme what is wrong in the following code..Its not displaying any output after the selection-screen.
    Should I pass anything else in addition..Or can anyone tell me what exactly I am missing out...
    Thanks..
    REPORT  ZNNR_ALVOOPS_SCREEN.
    TABLES: MARA,SPFLI.
    *types: begin of ty_tab,
           matnr type mara-matnr,
           ernam type mara-ernam,
           ersda type mara-ersda,
          end of ty_tab.
    TYPES: BEGIN OF TYPT.
           INCLUDE STRUCTURE MARA.
    TYPES: END OF TYPT.
    TYPES: BEGIN OF TYPT1.
           INCLUDE STRUCTURE SPFLI.
    TYPES: END OF TYPT1.
    DATA IO1 TYPE SPFLI-CARRID VALUE 'AA'.
    DATA ITAB TYPE TABLE OF TYPT.
    DATA WA LIKE LINE OF ITAB.
    DATA ITAB1 TYPE TABLE OF TYPT1.
    DATA WA1 LIKE LINE OF ITAB1.
    *DATA OK_CODE TYPE SY-UCOMM.
    DATA: GRID TYPE REF TO CL_GUI_ALV_GRID,
         CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
    DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID,
         CONTA TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
    CREATE OBJECT CONT EXPORTING CONTAINER_NAME = 'CONT1' .
    CREATE OBJECT GRID EXPORTING I_PARENT = CONT .
    CREATE OBJECT CONTA EXPORTING CONTAINER_NAME = 'CONT2' .
    CREATE OBJECT GRID1 EXPORTING I_PARENT = CONTA .
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
    SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECT * FROM MARA INTO TABLE
    ITAB
    WHERE MATNR IN S_MATNR .
    SELECT * FROM SPFLI INTO
          TABLE ITAB1 WHERE CARRID = IO1.
    CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
       I_BUFFER_ACTIVE               =
       I_BYPASSING_BUFFER            =
       I_CONSISTENCY_CHECK           =
       I_STRUCTURE_NAME              = 'MARA'
       IS_VARIANT                    =
       I_SAVE                        =
       I_DEFAULT                     = 'X'
       IS_LAYOUT                     =
       IS_PRINT                      =
       IT_SPECIAL_GROUPS             =
       IT_TOOLBAR_EXCLUDING          =
       IT_HYPERLINK                  =
       IT_ALV_GRAPHICS               =
       IT_EXCEPT_QINFO               =
       IR_SALV_ADAPTER               =
    CHANGING
       IT_OUTTAB                     = ITAB
       IT_FIELDCATALOG               =
       IT_SORT                       =
       IT_FILTER                     =
    EXCEPTIONS
       INVALID_PARAMETER_COMBINATION = 1
       PROGRAM_ERROR                 = 2
       TOO_MANY_LINES                = 3
       others                        = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
       I_STRUCTURE_NAME = 'SPFLI'
    CHANGING
       IT_OUTTAB        = ITAB1.

    HI
    see this program same requirement
    you can understand very easily
    *& Report  ZAMIT_ALVOOPS
    REPORT  ZNNR_ALVOOPS_SCREEN.
    tables: mara,spfli.
    types: begin of ty_tab,
            matnr type mara-matnr,
            ernam type mara-ernam,
            ersda type mara-ersda,
           end of ty_tab.
    DATA ITAB1 TYPE TABLE OF SPFLI.
    DATA WA1 LIKE LINE OF ITAB1.
    DATA IO1 TYPE SPFLI-CARRID VALUE 'AA'.
    data itab type table of ty_tab.
    data wa like line of itab.
    DATA OK_CODE TYPE SY-UCOMM.
    DATA: GRID TYPE REF TO CL_GUI_ALV_GRID,
          CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
    DATA: GRID1 TYPE REF TO CL_GUI_ALV_GRID,
          CONTA TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
    CREATE OBJECT CONT EXPORTING CONTAINER_NAME = 'CONT1' .
    CREATE OBJECT GRID EXPORTING I_PARENT = CONT .
    CREATE OBJECT CONTA EXPORTING CONTAINER_NAME = 'CONT2' .
    CREATE OBJECT GRID1 EXPORTING I_PARENT = CONTA .
    selection-screen begin of block b1 with frame title text-100.
    select-options: s_matnr for mara-matnr.
    selection-screen end of block b1.
    select matnr ernam ersda from mara into corresponding fields of table itab up to 15 rows
    where matnr in s_matnr .
    call selection-screen 100.
    *&      Module  USER_COMMAND_0100  INPUT
          text
    MODULE USER_COMMAND_0100 INPUT.
    if ok_code = 'PB1'.
    leave to screen 0.
    else.
    leave to screen 100.
    endif.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE STATUS_0100 OUTPUT.
    SET PF-STATUS 'xxxxxxxx'.
    SET TITLEBAR 'xxx'.
    SELECT * FROM SPFLI INTO
      CORRESPONDING FIELDS OF TABLE ITAB1 WHERE CARRID = IO1.
    CALL METHOD grid->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
       I_BUFFER_ACTIVE               =
       I_BYPASSING_BUFFER            =
       I_CONSISTENCY_CHECK           =
        I_STRUCTURE_NAME              = 'MARA'
       IS_VARIANT                    =
       I_SAVE                        =
       I_DEFAULT                     = 'X'
       IS_LAYOUT                     =
       IS_PRINT                      =
       IT_SPECIAL_GROUPS             =
       IT_TOOLBAR_EXCLUDING          =
       IT_HYPERLINK                  =
       IT_ALV_GRAPHICS               =
       IT_EXCEPT_QINFO               =
       IR_SALV_ADAPTER               =
      CHANGING
        IT_OUTTAB                     = itab.
       IT_FIELDCATALOG               =
       IT_SORT                       =
       IT_FILTER                     =
    EXCEPTIONS
       INVALID_PARAMETER_COMBINATION = 1
       PROGRAM_ERROR                 = 2
       TOO_MANY_LINES                = 3
       others                        = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
       CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          I_STRUCTURE_NAME = 'SPFLI'
        CHANGING
          IT_OUTTAB        = ITAB1.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    <b>Reward if usefull</b>

  • Display Total in ALV-List-urgent

    Hi,
        I have an ALV-List with an amount column...I have to show the total at the end of the list..Calculation of total can be done in the internal table but how to display it neatly just below the itab-amount with a tag Total : 29000000 .Kindly help.
    Thanks..

    see this below example
    REPORT yktest.
    *& TABLES DECLARATION *
    TABLES : ekko, ekpo, t001w, t161t, lfa1.
    *& INTERNAL TABLE DECLARATION *
    TYPES : BEGIN OF tp_itab1,
    bukrs TYPE ekko-bukrs,
    lifnr TYPE ekko-lifnr,
    ebeln TYPE ekko-ebeln,
    waers TYPE ekko-waers,
    bsart TYPE ekko-bsart,
    ekorg TYPE ekko-ekorg,
    ekgrp TYPE ekko-ekgrp,
    ebelp TYPE ekpo-ebelp,
    txz01 TYPE ekpo-txz01,
    matnr TYPE ekpo-matnr,
    werks TYPE ekpo-werks,
    menge TYPE ekpo-menge,
    meins TYPE ekpo-meins,
    netpr TYPE ekpo-netpr,
    netwr TYPE ekpo-netwr,
    name1 TYPE t001w-name1,
    header_text(132),
    chk TYPE c,
    END OF tp_itab1.
    DATA : t_itab1 TYPE STANDARD TABLE OF tp_itab1,
    wa_itab1 TYPE tp_itab1,
    ws_name1 TYPE t001w-name1.
    DATA : f_itab1 TYPE STANDARD TABLE OF tp_itab1,
    wa_fitab1 TYPE tp_itab1.
    DATA : f_itab2 TYPE STANDARD TABLE OF tp_itab1,
    wa_fitab2 TYPE tp_itab1.
    TYPES : BEGIN OF tp_name1,
    werks TYPE t001w-werks,
    name1 TYPE t001w-name1,
    END OF tp_name1.
    DATA : t_name1 TYPE STANDARD TABLE OF tp_name1,
    wa_name1 TYPE tp_name1.
    DATA : t_lfa1 TYPE STANDARD TABLE OF lfa1,
    wa_lfa1 TYPE lfa1.
    DATA: hold_tabix TYPE sy-tabix.
    DATA : t_tlinetab TYPE STANDARD TABLE OF tline,
    wa_tlinetab TYPE tline.
    DATA: ws_name TYPE thead-tdname,
    ws_repid TYPE sy-repid VALUE 'YKTEST'.
    DATA : repid TYPE sy-repid.
    DATA : total TYPE p DECIMALS 2,
    quantity TYPE p DECIMALS 3.
    CONSTANTS : ws_id TYPE thead-tdid VALUE 'F01',
    ws_object TYPE thead-tdobject VALUE 'EKKO',
    lc_view(1) TYPE c VALUE 'F',
    lc_form(10) TYPE c VALUE 'YK_FORM'.
    *& ALV DECLARATION *
    TYPE-POOLS : slis.
    DATA: lt_fieldcat TYPE slis_t_fieldcat_alv,
    lf_fieldcat TYPE slis_fieldcat_alv.
    DATA: lh_index LIKE lf_fieldcat-col_pos.
    DATA: l_layout TYPE slis_layout_alv.
    DATA : l_sort TYPE slis_t_sortinfo_alv,
    w_sort TYPE slis_sortinfo_alv.
    *& SELECTION-SCREEN *
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP 2.
    SELECT-OPTIONS: s_bukrs FOR ekko-bukrs OBLIGATORY.
    SELECT-OPTIONS: s_lifnr FOR ekko-lifnr OBLIGATORY.
    SELECT-OPTIONS: s_ebeln FOR ekko-ebeln.
    PARAMETERS: p_bsart TYPE ekko-bsart.
    SELECT-OPTIONS: s_matnr FOR ekpo-matnr.
    SELECT-OPTIONS: s_ekorg FOR ekko-ekorg.
    SELECT-OPTIONS: s_ekgrp FOR ekko-ekgrp.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN END OF BLOCK a1.
    *& START-OF-SELECTION *
    START-OF-SELECTION.
    FETCHING DATA
    PERFORM fetch_data.
    BUILD FIELD CATALOG
    PERFORM build_fieldcatalog.
    BUILD LAYOUT
    PERFORM build_layout.
    SORT LAYOUT
    PERFORM sort_layout.
    *& END-OF-SELECTION. *
    END-OF-SELECTION.
    *DISPLAY GRID
    PERFORM display_grid.
    *& Form fetch_data *
    FORM fetch_data.
    IF p_bsart IS INITIAL.
    SELECT ekko~bukrs
    ekko~lifnr
    ekko~ebeln
    ekko~waers
    ekko~bsart
    ekko~ekorg
    ekko~ekgrp
    ekpo~ebelp
    ekpo~txz01
    ekpo~matnr
    ekpo~werks
    ekpo~menge
    ekpo~meins
    ekpo~netpr
    ekpo~netwr
    INTO TABLE t_itab1 FROM
    ekko INNER JOIN ekpo ON ekkoebeln = ekpoebeln
    WHERE ekko~ebeln IN s_ebeln AND
    ekko~bukrs IN s_bukrs AND
    ekko~lifnr IN s_lifnr AND
    ekko~ekorg IN s_ekorg AND
    ekko~ekgrp IN s_ekgrp AND
    ekpo~matnr IN s_matnr.
    ELSE.
    SELECT ekko~bukrs
    ekko~lifnr
    ekko~ebeln
    ekko~waers
    ekko~bsart
    ekko~ekorg
    ekko~ekgrp
    ekpo~ebelp
    ekpo~txz01
    ekpo~matnr
    ekpo~werks
    ekpo~menge
    ekpo~meins
    ekpo~netpr
    ekpo~netwr
    INTO TABLE t_itab1 FROM
    ekko INNER JOIN ekpo ON ekkoebeln = ekpoebeln
    WHERE ekko~ebeln IN s_ebeln AND
    ekko~bukrs IN s_bukrs AND
    ekko~lifnr IN s_lifnr AND
    ekko~ekorg IN s_ekorg AND
    ekko~ekgrp IN s_ekgrp AND
    ekpo~matnr IN s_matnr AND
    ekko~bsart = p_bsart.
    ENDIF.
    IF NOT t_itab1[] IS INITIAL.
    FETCHING NAME1
    SELECT werks
    name1
    FROM t001w
    INTO TABLE t_name1
    FOR ALL ENTRIES IN t_itab1
    WHERE werks = t_itab1-werks.
    SORT t_itab1 BY werks.
    SORT t_name1 BY werks.
    IF sy-subrc = 0.
    LOOP AT t_itab1 INTO wa_itab1.
    hold_tabix = sy-tabix.
    READ TABLE t_name1 INTO wa_name1 WITH KEY werks = wa_itab1-werks
    BINARY SEARCH.
    IF sy-subrc = 0.
    wa_itab1-name1 = wa_name1-name1.
    MODIFY t_itab1 INDEX hold_tabix FROM wa_itab1.
    ENDIF.
    FETCHING HEADER TEXT
    MOVE wa_itab1-ebeln TO ws_name.
    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    id = ws_id
    language = sy-langu
    name = ws_name
    object = ws_object
    TABLES
    lines = t_tlinetab
    EXCEPTIONS
    id = 1
    language = 2
    name = 3
    not_found = 4
    object = 5
    reference_check = 6
    wrong_access_to_archive = 7
    OTHERS = 8.
    IF sy-subrc = 0.
    LOOP AT t_tlinetab INTO wa_tlinetab.
    wa_itab1-header_text = wa_tlinetab-tdline.
    MODIFY t_itab1 FROM wa_itab1.
    ENDLOOP.
    ENDIF. " IF sy-subrc = 0.
    CLEAR : wa_itab1,
    hold_tabix,
    wa_name1.
    ENDLOOP.
    ENDIF.
    ENDIF. " IF NOT t_itab1[] IS INITIAL.
    IF t_itab1[] IS INITIAL.
    MESSAGE i000(zg) WITH text-008.
    ENDIF.
    SORT : t_itab1 BY bukrs lifnr ebeln ebelp.
    ENDFORM. " fetch_data
    *& Form build_fieldcatalog *
    FORM build_fieldcatalog .
    COMPANY CODE
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'BUKRS'.
    lf_fieldcat-ref_tabname = 'EKKO'.
    lf_fieldcat-ref_fieldname = 'BUKRS'.
    lf_fieldcat-fix_column = 'X'.
    APPEND lf_fieldcat TO lt_fieldcat.
    VENDOR
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'LIFNR'.
    lf_fieldcat-ref_tabname = 'EKKO'.
    lf_fieldcat-ref_fieldname = 'LIFNR'.
    lf_fieldcat-fix_column = 'X'.
    APPEND lf_fieldcat TO lt_fieldcat.
    PURCHASING DOCUMENT NUMBER
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'EBELN'.
    lf_fieldcat-ref_tabname = 'EKKO'.
    lf_fieldcat-ref_fieldname = 'EBELN'.
    lf_fieldcat-key = 'X'.
    lf_fieldcat-do_sum = 'X'.
    lf_fieldcat-fix_column = 'X'.
    APPEND lf_fieldcat TO lt_fieldcat.
    ITEM NUMBER OF PURCHASING DOCUMENT
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'EBELP'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'EBELP'.
    APPEND lf_fieldcat TO lt_fieldcat.
    SHORT TEXT
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'TXZ01'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'TXZ01'.
    APPEND lf_fieldcat TO lt_fieldcat.
    MATERIAL NUMBER
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'MATNR'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'MATNR'.
    APPEND lf_fieldcat TO lt_fieldcat.
    PLANT
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'WERKS'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'WERKS'.
    APPEND lf_fieldcat TO lt_fieldcat.
    NAME
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'NAME1'.
    lf_fieldcat-ref_tabname = 'T001W'.
    lf_fieldcat-ref_fieldname = 'NAME1'.
    APPEND lf_fieldcat TO lt_fieldcat.
    PURCHASE ORDER QUANTITY
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'MENGE'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'MENGE'.
    lf_fieldcat-do_sum = 'X'.
    lf_fieldcat-qfieldname = 'MEINS'.
    APPEND lf_fieldcat TO lt_fieldcat.
    UNIT
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'MEINS'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'MEINS'.
    APPEND lf_fieldcat TO lt_fieldcat.
    NET PRICE IN PURCHASING DOCUMENT
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'NETPR'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'NETPR'.
    lf_fieldcat-cfieldname = 'WAERS'.
    lf_fieldcat-do_sum = 'X'.
    APPEND lf_fieldcat TO lt_fieldcat.
    NET ORDER VALUE IN PO CURRENCY
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'NETWR'.
    lf_fieldcat-ref_tabname = 'EKPO'.
    lf_fieldcat-ref_fieldname = 'NETWR'.
    lf_fieldcat-cfieldname = 'WAERS'.
    lf_fieldcat-do_sum = 'X'.
    APPEND lf_fieldcat TO lt_fieldcat.
    CURRENCY
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'WAERS'.
    lf_fieldcat-ref_tabname = 'EKKO'.
    lf_fieldcat-ref_fieldname = 'WAERS'.
    APPEND lf_fieldcat TO lt_fieldcat.
    HEADER TEXT
    CLEAR lf_fieldcat.
    lf_fieldcat-fieldname = 'HEADER_TEXT'.
    lf_fieldcat-seltext_m = 'Header Text'.
    APPEND lf_fieldcat TO lt_fieldcat.
    ENDFORM. " build_fieldcatalog
    *& Form display_grid *
    FORM display_grid.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = ws_repid
    i_callback_pf_status_set = 'PF_STATUS'
    i_callback_user_command = 'USER_COMMAND'
    is_layout = l_layout
    it_fieldcat = lt_fieldcat
    it_sort = l_sort
    i_save = 'X'
    IMPORTING
    TABLES
    t_outtab = t_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_grid
    *& Form build_layout *
    FORM build_layout .
    l_layout-colwidth_optimize = 'X'.
    l_layout-zebra = 'X'.
    l_layout-box_fieldname = 'CHK'.
    l_layout-box_tabname = 'T_ITAB1' .
    ENDFORM. " build_layout
    *& Form sort_layout *
    FORM sort_layout .
    CLEAR w_sort.
    w_sort-fieldname = 'BUKRS'.
    w_sort-tabname = 'T_ITAB1'.
    w_sort-spos = 1.
    w_sort-up = 'X'.
    w_sort-subtot = 'X'.
    APPEND w_sort TO l_sort.
    CLEAR w_sort.
    w_sort-fieldname = 'EBELN'.
    w_sort-tabname = 'T_ITAB1'.
    w_sort-spos = 1.
    w_sort-up = 'X'.
    w_sort-subtot = 'X'.
    APPEND w_sort TO l_sort.
    ENDFORM. " sort_layout
    *& Form PF_STATUS
    FORM pf_status USING rt_extab TYPE slis_t_extab.
    SET PF-STATUS 'STANDARD1' EXCLUDING rt_extab.
    ENDFORM. " PF_STATUS
    *& Form user_command
    FORM user_command USING s_ucomm TYPE sy-ucomm
    rs_selfield TYPE slis_selfield.
    CLEAR wa_itab1.
    READ TABLE t_itab1 INTO wa_itab1 INDEX rs_selfield-tabindex.
    CASE s_ucomm.
    WHEN 'POD'.
    SET PARAMETER ID 'BES' FIELD wa_itab1-ebeln.
    CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    CLEAR wa_itab1.
    WHEN 'MAT'.
    SET PARAMETER ID 'MAT' FIELD wa_itab1-matnr.
    CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
    WHEN '&IC1'.
    IF rs_selfield-fieldname = 'MATNR'.
    SET PARAMETER ID 'MAT' FIELD wa_itab1-matnr.
    CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
    ELSEIF rs_selfield-fieldname = 'EBELN'.
    SET PARAMETER ID 'BES' FIELD wa_itab1-ebeln.
    CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
    ENDIF.
    WHEN 'PRINT'.
    PERFORM multiple_sel.
    PERFORM call_form.
    CLEAR : f_itab1, f_itab2.
    WHEN 'SMART'.
    PERFORM multiple_sel.
    PERFORM call_smartform.
    ENDCASE.
    ENDFORM. "user_command

  • Classical report display from an alv list

    Hi, 
    I have an alv report displayed, and for this alv report have a user defined menu. Now when the Save button is clicked on the application bar then in the background we have a set of invoices which are generated for all the values selected from the alv list.
    Now after this a list is to be displayed listing all the items which were selected from the alv(ie the check boxes for the alv selected and not a particular field for selection)  for which the invoices were created. how do we display the list in a classical report format considering that the write statement will not work....???

    Hi
    Try thsi......
    You write the code in some Zreport of your own and from your ALV program pass the values to this ZReport program. You can pass via 2 ways
    a) Pass via  Export to Memory and Import from Memory ID
    b) Call Submit via Selection Screen and return
    Hope thsi Helps
    Anirban

  • To display icon in ALV report

    How to display icon (like green or red circle similar to signal light) in ALV Report

    Hi,
    just create a separate col in alv and in the field catalog assign the property lights .
    and refer to the wiki link
    [http://wiki.sdn.sap.com/wiki/display/Snippets/ALVGriddisplaywithLights]
    Hope this resolves the issue !
    Best of Luck !!
    Regards,
    Ravi Aswani

  • Display icons in ALV LVC grid

    Hi experts,
    Iam trying to display icons in one of the columns in my ALV grid.
    I have created ITAB like this.
    type-pools : icon,slis.
    data: begin of gt_dtl occurs 0,
          range(4).
            include structure zbitrdtl.
    data: field_style type lvc_t_styl.
    data: end of gt_dtl.
    And iam trying to pass ICON like this.
      loop at gt_dtl.
        gt_dtl-range = icon_green_light.
        modify gt_dtl.
      endloop.
    And passing into fieldcat.
      ls_fcat-fieldname = 'Range'.
      ls_fcat-tabname   = 'GT_DTL'.
      ls_fcat-scrtext_l  = 'Range'.
      ls_fcat-outputlen = '10'.
      ls_fcat-col_pos   = 8.
      ls_fcat-icon      = 'X'.
      append ls_fcat to gt_fieldcat.
      clear ls_fcat.
      call function 'LVC_FIELDCATALOG_MERGE'
        exporting
          i_buffer_active        = 'X'
          i_structure_name       = 'ZBITRDTL'
          i_client_never_display = 'X'
          i_internal_tabname     = 'GT_DTL'
        changing
          ct_fieldcat            = gt_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.
    <b>Iam able to see the ICON in the ITAB in debugging mode.</b>
    But iam not getting ICON in my output of ALV.
    where iam doing wrong?
    Rewared guaranteed,
    thanks
    kaki

    Hi...
    copy paste the following code. And check out hte variation.
    Hope this will be helpful
    Thank-You.
    vinsee
    REPORT  zrwty_wty_errors                        .
    TYPE
    TYPE-POOLS: slis, icon.
    Tables
    Tables : pnwtyh,
             balhdr.
    Data Decleration
    DATA: text(1000), lv_clmno(40).
    Internal table for messages ( Datewise )
    DATA: BEGIN OF it_balhdr OCCURS 0,
          lognumber TYPE balhdr-lognumber,
          log_handle TYPE  balhdr-log_handle,
          END OF it_balhdr.
    Internal table for PNWTYH
    DATA: BEGIN OF it_pnwtyh OCCURS 0,
          clmno TYPE pnwtyh-clmno,
          log_message TYPE pnwtyh-log_message,
          END OF it_pnwtyh.
    Internal table to fetch the actual text messages
    DATA: it_message LIKE balm OCCURS 0 WITH HEADER LINE.
    Internal Table to handle the ALV o/p
    DATA: BEGIN OF it_grid OCCURS 0,
          clmno TYPE pnwtyh-clmno,
          chgdat TYPE dats,
          icon TYPE icon-id," BALIMSGTY
          text(1000),
          END OF it_grid.
    Field Catelog and layout Decleration
    DATA: it_fieldcat  TYPE lvc_t_fcat,
          wa_fieldcat TYPE lvc_s_fcat OCCURS 0 WITH HEADER LINE,
          x_fieldcat TYPE lvc_s_fcat OCCURS 0 WITH HEADER LINE.
    DATA: x_layout TYPE lvc_s_layo.
    DATA: lv_repid LIKE sy-repid.
    have hotspot for a PO.
    DATA: s_fieldcat LIKE LINE OF it_fieldcat.
    s_fieldcat-hotspot = 'X'.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
    SELECT-OPTIONS:
      s_aldate FOR balhdr-aldate.
        SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    PARAMETERS : r1 RADIOBUTTON GROUP rg DEFAULT 'X'.
    PARAMETERS : r2 RADIOBUTTON GROUP rg .
      SELECTION-SCREEN END OF BLOCK b2.
      if s_aldate-high = '00000000'.
      s_aldate-high = s_aldate-low.
      endif.
    FM to fetcht he messg no. based on date
    CALL FUNCTION 'APPL_LOG_READ_DB'
    EXPORTING
       object                   = 'WTY'
       subobject                = 'CLAIMMSG'
        EXTERNAL_NUMBER          = ' '
       date_from                = s_aldate-low
       date_to                  = s_aldate-high
         TIME_FROM                = '000000'
         TIME_TO                  = '240000'
         log_class                = '1'
        PROGRAM_NAME             = '*'
        TRANSACTION_CODE         = '*'
        USER_ID                  = ' '
        MODE                     = '+'
        PUT_INTO_MEMORY          = ' '
      IMPORTING
        NUMBER_OF_LOGS           =
    TABLES
        HEADER_DATA              =
        HEADER_PARAMETERS        =
       messages                 = it_message
        MESSAGE_PARAMETERS       =
        CONTEXTS                 =
    data: zlines type i.
    describe table it_message lines zlines.
    if it_message[] is initial.
    message S398(00) with 'No data found.'.
    exit.
    endif.
    IF radio button ERROR only is selected, Delete others
    IF r2 = 'X'          .
      DELETE it_message WHERE msgty <> 'E'.
    ENDIF.
    fetch log_handle from BALHDR
    SELECT lognumber log_handle FROM balhdr INTO TABLE it_balhdr FOR ALL
    ENTRIES IN
    it_message WHERE lognumber = it_message-lognumber.
    Based on log _handle fetch claim no from PNWTYH
    SELECT DISTINCT clmno log_message FROM pnwtyh INTO TABLE it_pnwtyh FOR
    ALL ENTRIES IN it_balhdr WHERE log_message = it_balhdr-log_handle.
    LOOP AT it_message.
      READ TABLE it_balhdr WITH KEY lognumber = it_message-lognumber.
      IF sy-subrc = 0.
        READ TABLE it_pnwtyh WITH KEY log_message = it_balhdr-log_handle.
        IF sy-subrc = 0.
          lv_clmno = it_pnwtyh-clmno.
        ENDIF.
    FM to fetch the actual text message
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = it_message-msgid
            lang      = 'EN'
            no        = it_message-msgno
            v1        = it_message-msgv1
            v2        = it_message-msgv2
            v3        = it_message-msgv3
            v4        = it_message-msgv4
          IMPORTING
            msg       = text
          EXCEPTIONS
            not_found = 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.
        it_grid-clmno = lv_clmno.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
          EXPORTING
            input  = it_grid-clmno
          IMPORTING
            output = it_grid-clmno.
    Local Variable to handle Date Data
        DATA: l_tmstp(30) TYPE c,
        l_date TYPE sydatum.
        WRITE it_message-time_stmp TO l_tmstp LEFT-JUSTIFIED DECIMALS 0
        NO-GROUPING.
        l_date = l_tmstp(8).
        it_grid-chgdat = l_date.
        it_grid-text = text.
        IF  it_message-msgty = 'E'.
          it_grid-icon = '@0A@'.
        ELSEIF it_message-msgty <> 'E' AND it_message-msgty <> 'S'.
          it_grid-icon = '@09@'.
        ENDIF.
        APPEND it_grid.
        CLEAR it_grid.
        CLEAR: lv_clmno, it_message, text.
      ENDIF.
    ENDLOOP.
    PERFORM display_alv.
    *&      Form  display_alv
          text
    -->  p1        text
    <--  p2        text
    FORM display_alv .
      PERFORM build_field_catalog.
      PERFORM build_layout.
    Assign program name to variable
      lv_repid = sy-repid.
    Call the ALV Grid FM for Display
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
          EXPORTING
            i_callback_program       = lv_repid
            i_grid_title             = 'Wty Errors'
            is_layout_lvc            = x_layout
            it_fieldcat_lvc          = it_fieldcat
            I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
          TABLES
            t_outtab                 = it_grid[]
          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
    *&      Form  build_field_catalog
          text
    -->  p1        text
    <--  p2        text
    FORM build_field_catalog .
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = 'ZWTY_ERR'
          i_bypassing_buffer     = 'X'
        CHANGING
          ct_fieldcat            = it_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-col_pos = 1.
    wa_fieldcat-fieldname = 'ICON'.
    wa_fieldcat-seltext_l = 'Mssg Type'.
      wa_fieldcat-seltext = 'Mssg Type'.
      wa_fieldcat-icon = 'X'.
      wa_fieldcat-SCRTEXT_L = 'Mssg Type'.
    wa_fieldcat-outputlen = 8.
    wa_fieldcat-tabname = 'IT_GRID'.
    APPEND wa_fieldcat TO it_fieldcat.
    MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext_l WHERE
    fieldname = 'ICON' .
    CLEAR wa_fieldcat.
      MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext icon
    SCRTEXT_L
    WHERE
      fieldname = 'ICON' .
      CLEAR wa_fieldcat.
    wa_fieldcat-col_pos = 2.
    wa_fieldcat-fieldname = 'CHGDAT'.
    wa_fieldcat-seltext_l = 'Chg Date'.
      wa_fieldcat-seltext = 'Chg Date'.
        wa_fieldcat-SCRTEXT_L = 'Chg Date'.
    wa_fieldcat-outputlen = 10.
    wa_fieldcat-tabname = 'IT_GRID'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext_l WHERE
    fieldname = 'CHGDAT' .
    CLEAR wa_fieldcat.
    MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext SCRTEXT_L
    WHERE
      fieldname = 'CHGDAT' .
      CLEAR wa_fieldcat.
    wa_fieldcat-col_pos = 4.
    wa_fieldcat-fieldname = 'TEXT'.
    wa_fieldcat-seltext_l = 'Message Text'.
      wa_fieldcat-seltext = 'Message Text'.
          wa_fieldcat-SCRTEXT_L = 'Chg Date'.
    wa_fieldcat-outputlen = 100.
    wa_fieldcat-tabname = 'IT_GRID'.
    APPEND wa_fieldcat TO it_fieldcat.
    CLEAR wa_fieldcat.
    *MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext_l WHERE
    fieldname = 'TEXT'.
    CLEAR wa_fieldcat.
    MODIFY it_fieldcat FROM wa_fieldcat TRANSPORTING seltext SCRTEXT_L WHERE
      fieldname = 'TEXT'.
      CLEAR wa_fieldcat.
      MODIFY it_fieldcat FROM s_fieldcat TRANSPORTING hotspot
      WHERE fieldname = 'CLMNO'.
    ENDFORM.                    " build_field_catalog
    *&      Form  Build_layout
          text
    -->  p1        text
    <--  p2        text
    FORM build_layout .
      CLEAR x_layout.
    x_layout-colwidth_optimize = 'X'.
    x_layout-zebra = 'X'.
    ENDFORM.                    " Build_layout
    FORM display_detail *
    --> UCOMM *
    --> SELFIELD *
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
      IF ucomm = '&IC1'.
        READ TABLE it_grid INDEX selfield-tabindex.
        IF sy-subrc EQ 0.
    CALL 'WTY' FOR SELECTED CLAIM
          CALL FUNCTION 'ZWTY_CLAIM_DISPLAY'
            EXPORTING
              i_clmno          = it_grid-clmno
              iv_from_doc      = 'J'
            EXCEPTIONS
              not_found        = 1
              authority_failed = 2
              no_claimtype     = 3
              OTHERS           = 4.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    "user_command

  • Display Logo in ALV LIST header

    Hi Experts!!
    I need the logo to be displayed in the header of ALV LIST but not the grid display. I searched for this, and got the results for ALV grid display. Kindly let me know if there's any way of printing the logo in the ALV List display. I hope that's possible with oops.
    Please help me out.
    Thanks and Regards,
    Seenu

    hello srinivas,
    Check the Examples in LIBS trxn,
    see the example One-Line List with Top of Page
    regards,
    Shweta

  • Why af|tree can't display icon

    Hi,
    I am working on Adf(with version :10_1_3_0_4) Tree Component using Page-definitions.
    I am able to create the Tree structure but the issue are..
    The tree have any icon ,just a blue triangle,can’t display folds icon as adf demo shows .
    why?
    Edited by: user6793310 on 2008-9-22 上午12:16

    Hi,
    tree icons are set with skinning
    http://www.oracle.com/technology/products/adf/adffaces/11/doc/skin-selectors.html (JDeveloper 11 documentation)
    af|treeTable::expanded-icon-style      
    Style of the expanded icon used with the tree and treeTable components. The expanded icon is specified as a background-image in this key. To override the default icon, set -tr-inhibit: background-image in the expanded-icon-style and define the override icon for the expanceded-icon.
    af|treeTable::expanded-icon      
    Style used to override the default expanded icon used with the tree and treeTable components.
    af|treeTable::collapsed-icon-style      
    Style of the collapsed icon used with the tree and treeTable components. The collapsed icon is specified as a background-image in this key. To override the default icon, set -tr-inhibit: background-image in the collapsed-icon-style and define the override icon for the collapsed-icon.
    af|treeTable::collapsed-icon      
    Style used to override the default collapsed icon used with the tree and treeTable components.
    af|treeTable::leaf-icon-style      
    Style of the leaf icon used with the tree and treeTable components. The leaf icon is specified as a background-image in this key. To override the default icon, set -tr-inhibit: background-image in the leaf-icon-style and define the override icon for the leaf-icon.
    af|treeTable::leaf-icon      
    Style used to override the default leaf icon used with the tree and treeTable components.
    af|treeTable::selector-icon-style      
    Style of the selector icon used with the tree and treeTable components. The selector icon is specified as a background-image in this key. To override the default icon, set -tr-inhibit: background-image in the selector-icon-style and define the override icon for the selector-icon.
    af|treeTable::selector-icon      
    Style used to override the default selector icon used with the tree and treeTable components.
    Frank

  • What's the maximum number of Apple TVs that can be displayed in the AirPlay list?

    We have 50 conference rooms all on the same network and are considering equiping each one with an Apple TV for AirPlay Mirroring our iPad 2s to the rooms projector, or TV. What is the maximum number of Apple TVs that can be displayed in the AirPlay menu to select the correct Apple TV for the conference room being used?

    From what you're saying it sounds as though you wouldn't want to Airplay to all AppleTVs at once, just identify them when that specific room in use?
    This is one of those uncharted territories wheer most domestic users will not require such a set up - Apple provide no official info about this, but they'd be your best source to ask.
    AC

  • How to display icon in alv report output

    hi,
    my ewquirement in in alv report in one column to diaplay the icon(tickmark) based on some codition.
    how to achieve it??
    condition is
    Affected (Locked on Current ECM) u2013 can use symbols    for affected and   for changing u2013
    u2022     Lock AEOI u2013 CCLCK for AE01-OBJKT (Material) lock.
    Condition:
      If AEOI u2013 CCLCK is activated then display symbols  (tickmark)  in line of their AE01-OBJKT (Material). else display
    (x mark)

    Hi,
    In field catalog of grid set
    Ex--
    when 'Field'.
      lwa_fcat-icon      = c_true.
    based on your condition
    set the desired icon in table.
    Ex.... lwa_table-field = icon_tick.

  • Display Icons in ALV report

    Hi all Good Morning.
    In ALV report am inserted my own icons. But the problem is at output screen am getting only those icons which i created, remaining are not displaying in standard tool bar .
    Please tell me how to solve this. I want to display all default icons with my own created icons in standard tool bar .
    Regards,
    Prajwal K.
    Edited by: prajwal k on Jan 24, 2008 4:39 AM

    Hi Prajwal, this code will solve ur problem.
    go to SE41.
    Give SAPLKKBL as program name and STANDARD_FULLSCREEN as status....
    now click on Copy Status and in that give ur program and status name into To.....
    now in REUSE_ALV_GRID_DISPLAY
    FORM display_list.
    g_f_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = g_f_repid
    i_callback_user_command = 'USER_COMMAND'
    i_callback_pf_status_set = 'SET_STAT'
    it_fieldcat = g_t_fieldcat[]
    it_events = g_t_events[]
    TABLES
    t_outtab = g_t_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.
    ENDFORM. " display_list
    FORM set_stat USING rt_extab TYPE slis_t_extab.
    SET PF-STATUS 'ZSTAT' EXCLUDING rt_extab.
    ENDFORM. "set_stat
    here my status name is ZSTAT which i gave in SE41...
    and in user_command form...
    FORM user_command USING u_comm LIKE sy-ucomm selfield TYPE slis_selfield.
    CASE u_comm.
    WHEN 'DET'.
    ........ur logic.........
    ENDCASE.
    ENDFORM. "user_command
    kindly reward if found helpful.
    cheers,
    Hema.

  • Display icon in alv report ?

    Hi All,
    I am using class 'cl_gui_alv_grid' to generate an alv report. I want to display status icons like red, yellow and green in one of the coulmns. Please let me know how to achieve the same.
    Regards,
    Navneeth K.

    Try to follow the below code.
    Add
             icon       TYPE  icon-id,             "Status
    to your output table
    Constants
    CONSTANTS: c_green  TYPE icon-id VALUE '@08@',
               c_yellow TYPE icon-id VALUE '@09@',
               c_red    TYPE icon-id VALUE '@0A@'.
    Put your condition in which you want to display which color.
        IF CONDITION.
          MOVE c_yellow TO wa_out-icon.
          MODIFY it_out
                       from wa_out.
       ENDIF.
    Add it in your catalog
    FORM populate_fieldcat USING p_table TYPE c.
    **status
      CLEAR wa_fieldcat.
      wa_fieldcat-tabname     = p_table.
      wa_fieldcat-fieldname   = 'ICON'.
      wa_fieldcat-seltext_l   = text-010.
      wa_fieldcat-outputlen   = 15.
      wa_fieldcat-icon        = 'X'.
      APPEND wa_fieldcat TO i_fieldcat.
        CALL METHOD g_grid->set_table_for_first_display
          EXPORTING
          I_BUFFER_ACTIVE               =
          I_BYPASSING_BUFFER            =
          I_CONSISTENCY_CHECK           =
            i_structure_name              = 'MARA'
          IS_VARIANT                    =
          I_SAVE                        =
          I_DEFAULT                     = 'X'
            is_layout                      =  gs_layout
          IS_PRINT                      =
          IT_SPECIAL_GROUPS             =
          IT_TOOLBAR_EXCLUDING          =
          IT_HYPERLINK                  =
          IT_ALV_GRAPHICS               =
          IT_EXCEPT_QINFO               =
          CHANGING
            it_outtab                     = it_out[]
          IT_FIELDCATALOG               = T_FIELDCAT
          IT_SORT                       =
          IT_FILTER                     =
          EXCEPTIONS
            invalid_parameter_combination = 1
            program_error                 = 2
            too_many_lines                = 3
            OTHERS                        = 4.

  • How can i display light in ALV

    hi gurus ,
    i want to use lights in my program. i don know how to proceed. can anyone of you pl  help me with code.
    An early reply will be highly appreciated..
    regards,
    Neeraj Srivastava

    hi,
    In simple words.
    1) Create a field in your internal table which is used in the ALV Grid. Call it LIGHT.
    2) Create this field in your field catalog also, and make sure to set the field in the field catalog for ICON.
    fieldcatlog_wa-ICON  = 'X'.
    3) Now to fill the field you simply WRITE the icon to the field.
    Loop at itab.
        case itab-field1.
           when 'A'.
                write icon_green_light as icon to itab-light.
           when 'B'.
                write icon_yellow_light as icon to itab-light.
           when 'C'.
              write icon_red_light as icon to itab-light.
        endcase.
    modify itab.
    endloop.
    Rgds
    Reshma

  • Can I display or export a list of all field names on a PDF

    In Designer 7, is there a way to display all field names (text fields and checkboxes)? Or is there any way to obtain a list of all field names used on a form?
    In Acrobat 7, all the field names used on the PDF will appear when you select the Text Field Tool. However, this will only happen when the fields were added using the form tools in built into Acrobat. These forms tools are not accessible in Acrobat when the PDF was created using Designer.
    For a PDF created with Designer, you can hover over a field in Acrobat to have a ToolTip display the field name. Unfortunately, this can only be done one field at a time.
    Thanks in advance for any info.

    Here is an example of how to get all the form objects' names within a node in the hierrachy. For a more complex form (with subforms), you will need to check to see if the node is a container. If it is, you will to use this code below to iterate that node.
    var objNode = xfa.resolveNode("xfa.form.form1.page1")
    for (var i = 0; i < objNode.nodes.length; ++i)
    app.alert(objNode.nodes.item(i).name);
    Here is an example:
    http://66.34.186.88/LiveCycleSamples/.3bbb371.pdf

Maybe you are looking for