Filters lights icon in ALV  Z Vs Standar.

Image Z
Image SAP
Hello, All.
The first image corresponds to a Z and the second to a standard SAP with the some icon, how I get the same behavior on my trx Z ?
Thank you.

Hello  Edwin Vargas,
For getting those Filter values, we need to use EXCP_FNAME field from the structure LVC_S_LAYO
Declare the field Name for which you want get the light functionlity
We need pass value to LIGHT field as '1'  --> red , '2' --> yellow and  '3' --> Green etc
In declaration,
types : begin of ty_final,
            light type c,
            end of ty_final.
data : gs_LAYOUT TYPE lvc_s_layo.
data : it_final type table of ty_final.
data: g_lights_name type lvc_cifnm value 'LIGHT'.
gs_layout-excp_fname = g_lights_name.
If i speak with respective to your screen shot
Instead of
  icono type icon-id use icono type c,
  es_salida-icono = icon_red_light  use es_salida-icono = '1'
data: g_lights_name type lvc_cifnm value 'ICONO'.
gs_layout-excp_fname = g_lights_name.
No need create field catalog for icono field while creating the fieldcatalog table.
I hope this will help you.

Similar Messages

  • How to put up the traffic lights icon in the ALV Grid. OO output

    Hi all,
    I have a requriement that after all the report execution parts are done, i need to display the posted or unposted document using the Traffic light icon in the report output, i am displaying the report in ALV OO form and i already geta  field with a conent X of the document is posted else that field is blank currently.
    Regards

    Sample code here for this.
    *& Report  Z_50657_ALV_EX2                                             *
    *& Program Name: Test Program for ALV                                  *
    *  Developer Name: ADCDEV (Rahul Kavuri )                              *
    *  Description: ALV Report to Display Vendor Details                   *
    *& Date:7th April 2006                                                 *
    REPORT  Z_50657_ALV_EX2
            NO STANDARD PAGE HEADING
            LINE-COUNT 65(3)
            LINE-SIZE 220
            MESSAGE-ID ZZ.
    *                             Type Pools                               *
    TYPE-POOLS: SLIS, ICON.
    *                              Tables                                  *
    TABLES: VBAK. "Sales Document Data
    *                         Internal Tables                              *
    * TABLE TO HOLD DATA OF SALES DOCUMENT
    DATA: BEGIN OF IT_VBAK OCCURS 0,
          VBELN LIKE VBAK-VBELN, "Sales Document
          VBTYP LIKE VBAK-VBTYP, "SD document category
          AUDAT LIKE VBAK-AUDAT, "Document date (date received/sent)
          AUGRU LIKE VBAK-AUGRU, "Order reason (reason for the business)
          AUART LIKE VBAK-AUART, "Sales Document Type
          NETWR LIKE VBAK-NETWR, "Net Sales Order in Doc. Currency
          WAERK LIKE VBAK-WAERK, "SD document currency
          ICON TYPE ICON-ID,     "traffic lights
          END OF IT_VBAK.
    *                             Work Areas                               *
    *WORK AREAS DEFINED FOR ALV'S
    DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,      "field catalog
          IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,     "field catalog ITAB
          WA_SORT TYPE SLIS_SORTINFO_ALV,           "SORT work area
          IT_SORT TYPE SLIS_T_SORTINFO_ALV,         "SORT ITAB
          LAYOUT TYPE SLIS_LAYOUT_ALV,              "LAYOUT
          WA_FCODE TYPE SLIS_EXTAB,                 "FUN CODE
          I_FCODE_EXTAB TYPE SLIS_T_EXTAB,
          WA_EVENTS TYPE SLIS_ALV_EVENT,
          IT_EVENTS TYPE SLIS_T_EVENT.
    *                       Selection-Screen                               *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN.
    PARAMETERS: P_VBTYP LIKE VBAK-VBTYP DEFAULT 'C'.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
    PARAMETERS: LIST RADIOBUTTON GROUP G1,
                GRID RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    *                     At  Selection-Screen                             *
    *VALIDATION
    *                       Start of Selection                             *
    START-OF-SELECTION.
    *POPULATION OF DATA INTO INTERNAL TABLE ITAB
      PERFORM GET_DATA.
    *DEFINE USER DEFINED FIELDCATALOG
      PERFORM DEFINE_FIELDCATALOG.
    *SUBTOTALS AND TOTALS DISPLAY USING SORT
      PERFORM SORT_LIST.
    *CHANGE FCODE OF STATUS
      PERFORM CHANGE_FCODE.
    *CHECK RADIOBUTTON OPTION AND ACCORDINGLY FINAL DISPLAY
      PERFORM CHECK_OPTION.
    *&      Form  GET_DATA
    *       text
    FORM GET_DATA.
      SELECT VBELN
             VBTYP
             AUDAT
             AUGRU
             AUART
             NETWR
             WAERK FROM VBAK INTO TABLE IT_VBAK
             WHERE VBELN IN S_VBELN AND VBTYP = P_VBTYP
             AND ERDAT > '01.01.2004' AND NETWR > 0.
      LOOP AT IT_VBAK.
        IF IT_VBAK-NETWR < 10000.
          IT_VBAK-ICON = '@08@'.
        ELSEIF IT_VBAK-NETWR > 100000.
          IT_VBAK-ICON = '@0A@'.
        ELSE.
          IT_VBAK-ICON = '@09@'.
        ENDIF.
        MODIFY IT_VBAK INDEX SY-TABIX.
      ENDLOOP.
    ENDFORM.                    "GET_DATA
    *&      Form  CHECK_OPTION
    *       text
    FORM CHECK_OPTION.
      WA_EVENTS-NAME = 'TOP_OF_PAGE'.
      WA_EVENTS-FORM = 'TOP'.
      APPEND WA_EVENTS TO IT_EVENTS.
      CLEAR WA_EVENTS.
      WA_EVENTS-NAME = 'END_OF_LIST'.
      WA_EVENTS-FORM = 'END_LIST'.
      APPEND WA_EVENTS TO IT_EVENTS.
      CLEAR WA_EVENTS.
      IF LIST = 'X'.
        PERFORM LIST_DISP.
      ENDIF.
      IF GRID = 'X'.
        PERFORM GRID_DISP.
      ENDIF.
    ENDFORM.                    "CHECK_OPTION
    *&      Form  DEFINE_FIELDCATALOG
    *       text
    FORM DEFINE_FIELDCATALOG.
      WA_FIELDCAT-COL_POS = 1.
      WA_FIELDCAT-FIELDNAME = 'ICON'.
      WA_FIELDCAT-SELTEXT_L = 'ICON'.
      WA_FIELDCAT-ICON = 'X'.
      WA_FIELDCAT-OUTPUTLEN = 8.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 2.
      WA_FIELDCAT-FIELDNAME = 'VBELN'.
      WA_FIELDCAT-SELTEXT_L = 'SALES DOC NO.'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 3.
      WA_FIELDCAT-FIELDNAME = 'AUDAT'.
      WA_FIELDCAT-SELTEXT_L = 'CREATED ON'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 4.
      WA_FIELDCAT-FIELDNAME = 'VBTYP'.
      WA_FIELDCAT-SELTEXT_L = 'CATEGORY'.
      WA_FIELDCAT-OUTPUTLEN = 1.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 6.
      WA_FIELDCAT-FIELDNAME = 'AUGRU'.
      WA_FIELDCAT-SELTEXT_L = 'REASON'.
      WA_FIELDCAT-OUTPUTLEN = 3.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 5.
      WA_FIELDCAT-FIELDNAME = 'AUART'.
      WA_FIELDCAT-SELTEXT_L = 'DOC TYPE'.
      WA_FIELDCAT-OUTPUTLEN = 4.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 7.
      WA_FIELDCAT-FIELDNAME = 'NETWR'.
      WA_FIELDCAT-SELTEXT_L = 'NET VALUE'.
      WA_FIELDCAT-OUTPUTLEN = 17.
      WA_FIELDCAT-DECIMALS_OUT = 2.
    *  WA_FIELDCAT-DO_SUM = 'X'.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 8.
      WA_FIELDCAT-FIELDNAME = 'WAERK'.
      WA_FIELDCAT-SELTEXT_L = 'UNIT'.
      WA_FIELDCAT-OUTPUTLEN = 50.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "DEFINE_FIELDCATALOG
    *&      Form  DEFINE_LAYOUT
    *       text
    FORM DEFINE_LAYOUT.
      LAYOUT-ZEBRA = 'X'.
      LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL SUM'.
      LAYOUT-WINDOW_TITLEBAR = 'EXERCISE 2'.
      LAYOUT-TOTALS_TEXT  = 'TOTAL'.
    ENDFORM.                    "DEFINE_LAYOUT
    *&      Form  SORT_LIST
    *       text
    FORM SORT_LIST.
      WA_SORT-FIELDNAME = 'VBELN'.
      WA_SORT-TABNAME = 'IT_VBAK'.
      WA_SORT-SPOS = 1.
      WA_SORT-UP = 'X'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'NETWR'.
      WA_SORT-TABNAME = 'IT_VBAK'.
      WA_SORT-UP = 'X'.
      WA_SORT-SPOS = 2.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
    ENDFORM.                    "SORT_LIST
    *&      Form  LIST_DISP
    *       text
    FORM LIST_DISP.
      PERFORM DEFINE_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM             = SY-REPID
         IT_FIELDCAT                    = IT_FIELDCAT
         IS_LAYOUT                      = LAYOUT
         IT_SORT                        = IT_SORT
         I_CALLBACK_PF_STATUS_SET       = 'STATUS'
         IT_EXCLUDING                   = I_FCODE_EXTAB
         I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
         IT_EVENTS                      = IT_EVENTS[]
    *   IMPORTING
    *     E_EXIT_CAUSED_BY_CALLER        =
    *     ES_EXIT_CAUSED_BY_USER         =
        TABLES
         T_OUTTAB                       = IT_VBAK
    *   EXCEPTIONS
    *     PROGRAM_ERROR                  = 1
    *     OTHERS                         = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "LIST_DISP
    *&      Form  GRID_DISP
    *       text
    FORM GRID_DISP.
      PERFORM DEFINE_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM       = SY-REPID
          IS_LAYOUT                = LAYOUT
          IT_FIELDCAT              = IT_FIELDCAT
          IT_SORT                  = IT_SORT
          I_CALLBACK_PF_STATUS_SET = 'STATUS'
          IT_EXCLUDING             = I_FCODE_EXTAB
          I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
          IT_EVENTS                = IT_EVENTS[]
        TABLES
          T_OUTTAB                 = IT_VBAK.
    * EXCEPTIONS
    *   PROGRAM_ERROR                     = 1
    *   OTHERS                            = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "GRID_DISP
    *&      Form  STATUS
    *       text
    *      -->P_EXTAB    text
    FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.
    ENDFORM.                    "STATUS
    *&      Form  USER_COMMAND
    *       text
    *      -->R_UCOMM      text
    *      -->RS_SELFIELD  text
    FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                                   RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN 'BACK' OR 'CANC' OR 'EXIT'.
          LEAVE TO SCREEN 0.
        WHEN '&IC1'.
          SET PARAMETER ID 'AUN' FIELD RS_SELFIELD-VALUE.
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND
    *&      Form  CHANGE_FCODE
    *       text
    FORM CHANGE_FCODE.
      WA_FCODE = 'PRNT'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&OAD'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&AVE'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&EB9'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&SUM'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&UMC'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&XPA'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&OMP'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
    ENDFORM.                    "CHANGE_FCODE
    *&      Form  TOP
    *       text
    FORM TOP.
      IF LIST = 'X'.
        WRITE:/ SY-ULINE.
        WRITE:/ 'DATE:', SY-DATUM,55 'INTELLIGROUP ASIA PVT LTD'.
        WRITE:/ 'TIME:', SY-UZEIT.
        WRITE:/ 'USER NAME:', SY-UNAME,60 SY-TITLE.
        WRITE:/ 'PAGE', SY-PAGNO.
        WRITE:/ SY-ULINE.
      ENDIF.
      IF GRID = 'X'.
        DATA: LS_LINE TYPE SLIS_LISTHEADER,
              E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    *   Listenüberschrift: Typ H
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'H'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'Summary'.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    *   Kopfinfo: Typ S
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'S'.
        LS_LINE-KEY  = 'Intelligroup'.
        LS_LINE-INFO = ''.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
        LS_LINE-KEY  = 'ASIA'.
        LS_LINE-INFO = 'PVT LTD'.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    *   Aktionsinfo: Typ A
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'A'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'truman'.
        APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            IT_LIST_COMMENTARY = E04_LT_TOP_OF_PAGE
            I_LOGO             = 'ENJOY_SAP_LOGO'.
      ENDIF.
    ENDFORM.                    "TOP
    *&      Form  END_LIST
    *       text
    FORM END_LIST.
      IF LIST = 'X'.
        SKIP 2.
        WRITE:/60 'END OF PAGE'.
      ENDIF.
      IF GRID = 'X'.
          DATA: LS_LINE TYPE SLIS_LISTHEADER,
              E04_LT_END_OF_LIST TYPE SLIS_T_LISTHEADER.
    *   Listenüberschrift: Typ H
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'H'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'Summary'.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
    *   Kopfinfo: Typ S
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'S'.
        LS_LINE-KEY  = 'Intelligroup'.
        LS_LINE-INFO = ''.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
        LS_LINE-KEY  = 'ASIA'.
        LS_LINE-INFO = 'PVT LTD'.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
    *   Aktionsinfo: Typ A
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'A'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = TEXT-105.
        APPEND LS_LINE TO  E04_LT_END_OF_LIST.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            IT_LIST_COMMENTARY = E04_LT_END_OF_LIST.
      ENDIF.
    ENDFORM.                    "END_LIST

  • Icon in ALV top-of-page

    Hello All,
    I created an ALV report which included the traffic light icons to indicate the status of some internal requests.  My original "legend" in FM REUSE_ALV_COMMENTARY_WRITE was just text based, but now users are requesting to have the legend contain the actual icon, along with the text description.  Is there any way that I can put the icons in the top of the page?
    Thanks in advance,
    Lisa

    Thanks so much!  It worked!  Here's my new working code:
    form html_top_of_page using document type ref to cl_dd_document.
      data: text type sdydo_text_element.
      text = 'T&M Credit Requests'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = cl_dd_area=>heading
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
      call method document->new_line.
      call method document->new_line.
      text = 'Rows: Red = Request rejected by Manager'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
      call method document->new_line.
      call method document->add_gap
        EXPORTING
          width = 13.
    text = 'Yellow = Request waiting for Manager approval'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
      call method document->new_line.
      call method document->add_gap
        EXPORTING
          width = 13.
      text = 'Green = Request approved by Manager'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
      call method document->new_line.
    call method document->new_line.
    text = 'Icons:'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
    call method document->add_gap
        EXPORTING
          width = 1.
      call method document->add_icon
        EXPORTING
          sap_icon = 'ICON_RED_LIGHT'.
      call method document->add_gap
        EXPORTING
          width = 2.
      text = 'Request rejected by Billings'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
      call method document->new_line.
      call method document->add_gap
        EXPORTING
          width = 13.
      call method document->add_icon
        EXPORTING
          sap_icon = 'ICON_YELLOW_LIGHT'.
      call method document->add_gap
        EXPORTING
          width = 2.
      text = 'Request waiting for Billings'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.
      call method document->new_line.
      call method document->add_gap
        EXPORTING
          width = 13.
      call method document->add_icon
        EXPORTING
          sap_icon = 'ICON_GREEN_LIGHT'.
      call method document->add_gap
        EXPORTING
          width = 2.
      text = 'Request processed by Billings'.
      call method document->add_text
        EXPORTING
          text         = text
          sap_style    = space
          sap_color    = space
          sap_fontsize = cl_dd_document=>large
          sap_emphasis = space
          style_class  = space.

  • How to add Icons to ALV Reprt?

    Hi,
    I need to display icons (red, yellow) in my ALV Report in the first column in my report.
    In my field catalog fieldcat-icon = 'X' has been taken into consideration, but still I am not able to see in my report. In the final internal table that is to display I created a field for this Icon type ICON_D. Is this the correct procedure to work with or else kindly let me know how to proceed?
    Regards,
    Raghu Ram.

    This is the code that has been incorporated in order to display Icon in the ALV Report.
    *                     TABLES Declarations                             *
    Tables: PROJ,             " Project definition
            PRPS,             " WBS (Work Breakdown Structure) Element Master Data
            ICON.
    *                     TYPE POOLS                                      *
    TYPE-POOLS: SLIS,        " Globale Typen für generische Listbausteine
                ICON.
    *                     ALV Data Declarations                           *
    DATA:
      GT_FIELDCAT       TYPE   SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
      GT_REPID          TYPE   SY-REPID.
    *                     Type Declarations                               *
    TYPES:
    * STRUCTURE OF TABLE PROJ
      BEGIN OF TY_PROJ,
        PSPNR      TYPE PROJ-PSPNR,
        PSPID      TYPE PROJ-PSPID,
        POST1      TYPE PROJ-POST1,
        OBJNR      TYPE PROJ-OBJNR,
        VERNR      TYPE PROJ-VERNR,
        VERNA      TYPE PROJ-VERNA,
      END OF TY_PROJ,
    * STRUCTURE OF TABLE PRPS
      BEGIN OF TY_PRPS,
        PSPNR      TYPE PRPS-PSPNR,
        POSID      TYPE PRPS-POSID,
        POST1      TYPE PRPS-POST1,
        OBJNR      TYPE PRPS-OBJNR,
        PSPHI      TYPE PRPS-PSPHI,
        VERNR      TYPE PRPS-VERNR,
      END OF TY_PRPS,
      BEGIN OF TY_FINAL,
        LIGHT       TYPE ICON_D,
        PSPNR       TYPE PROJ-PSPNR,
        PSPID       TYPE PROJ-PSPID,
        POST1       TYPE PROJ-POST1,
        OBJNR       TYPE PROJ-OBJNR,
        VERNR       TYPE PROJ-VERNR,
        VERNA       TYPE PROJ-VERNA,
        PSPNR_1     TYPE PRPS-PSPNR,
        POSID       TYPE PRPS-POSID,
        POST1_1     TYPE PRPS-POST1,
        OBJNR_1     TYPE PRPS-OBJNR,
        PSPHI       TYPE PRPS-PSPHI,
        VERNR_1     TYPE PRPS-VERNR,
      END OF TY_FINAL.
    *                     Internal Table Declarations                     *
    DATA:
        IT_PROJ  TYPE STANDARD TABLE OF TY_PROJ,
        IT_PRPS  TYPE STANDARD TABLE OF TY_PRPS,
        IT_FINAL TYPE STANDARD TABLE OF TY_FINAL.
    *                    Work Area Declarations                            *
    DATA:
        WA_PROJ  TYPE TY_PROJ,
        WA_PRPS  TYPE TY_PRPS,
        WA_FINAL TYPE TY_FINAL.
    *                          Selection Screen                           *
    SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME.
      SELECT-OPTIONS:   S_PSPNR FOR PROJ-PSPNR.
    SELECTION-SCREEN END OF BLOCK BLK.
    *                          Start Of Selection                         *
    START-OF-SELECTION.
      PERFORM DATA_RETREVIAL.
      PERFORM BUILD_FIELDCAT.
      PERFORM DISPLAY_ALV.
    *                          Data Retrevial Logic                       *
    *&      Form  DATA_RETREVIAL
    form DATA_RETREVIAL .
    DATA: status_icon TYPE icons-text,
          icon_name(20) TYPE c,
          icon_text(10) TYPE c.
      ICON_NAME = 'ICON_RED_LIGHT'.
      ICON_TEXT = 'RED'.
      CALL FUNCTION 'ICON_CREATE'
        EXPORTING
          name                        = ICON_NAME
         TEXT                         = ICON_TEXT
    *     INFO                        = ' '
         ADD_STDINF                   = 'X'
       IMPORTING
         RESULT                       = STATUS_ICON
       EXCEPTIONS
         ICON_NOT_FOUND               = 1
         OUTPUTFIELD_TOO_SHORT        = 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.
      SELECT PSPNR
             PSPID
             POST1
             OBJNR
             VERNR
             VERNA
             FROM PROJ
             INTO TABLE IT_PROJ
             WHERE PSPNR IN S_PSPNR.
        SELECT PSPNR
               POSID
               POST1
               OBJNR
               PSPHI
               VERNR
               FROM PRPS
               INTO TABLE IT_PRPS
               FOR ALL ENTRIES IN IT_PROJ
               WHERE PSPHI EQ IT_PROJ-PSPNR.
          LOOP AT IT_PROJ INTO WA_PROJ.
            LOOP AT IT_PRPS INTO WA_PRPS.
              WA_FINAL-PSPNR    =  WA_PROJ-PSPNR.
              WA_FINAL-PSPID    =  WA_PROJ-PSPID.
              WA_FINAL-POST1    =  WA_PROJ-POST1.
              WA_FINAL-OBJNR    =  WA_PROJ-OBJNR.
              WA_FINAL-VERNR    =  WA_PROJ-VERNR.
              WA_FINAL-VERNA    =  WA_PROJ-VERNA.
              WA_FINAL-PSPNR_1  =  WA_PRPS-PSPNR.
              WA_FINAL-POSID    =  WA_PRPS-POSID.
              WA_FINAL-POST1_1  =  WA_PRPS-POST1.
              WA_FINAL-OBJNR_1  =  WA_PRPS-OBJNR.
              WA_FINAL-PSPHI    =  WA_PRPS-PSPHI.
              WA_FINAL-VERNR_1  =  WA_PRPS-VERNR.
              WA_FINAL-light     = STATUS_ICON.
              APPEND WA_FINAL TO IT_FINAL.
             CLEAR: WA_FINAL.
            ENDLOOP.
          ENDLOOP.
    endform.                    " DATA_RETREVIAL
    *                          Field Catalog                              *
    *&      Form  BUILD_FIELDCAT
    form BUILD_FIELDCAT .
    *  DATA: FIELDCAT    TYPE GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'LIGHTS'.
          GT_FIELDCAT-SELTEXT_M = 'STAUTS'.
          GT_FIELDCAT-COL_POS   = 0.
          GT_FIELDCAT-ICON      = 'X'.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'PSPNR'.
          GT_FIELDCAT-SELTEXT_M = 'PROJECT DEFINITION(INTERNAL)'.
          GT_FIELDCAT-COL_POS   = 1.
          GT_FIELDCAT-OUTPUTLEN = 8.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'PSPID'.
          GT_FIELDCAT-SELTEXT_M = 'PROJECT DEFINITION'.
          GT_FIELDCAT-COL_POS   = 2.
          GT_FIELDCAT-OUTPUTLEN = 24.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'POST1'.
          GT_FIELDCAT-SELTEXT_M = 'PROJECT DESC'.
          GT_FIELDCAT-COL_POS   = 3.
          GT_FIELDCAT-OUTPUTLEN = 40.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'OBJNR'.
          GT_FIELDCAT-SELTEXT_M = 'Object number'.
          GT_FIELDCAT-COL_POS   = 4.
          GT_FIELDCAT-OUTPUTLEN = 22.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'VERNR'.
          GT_FIELDCAT-SELTEXT_M = 'Responsible Person'.
          GT_FIELDCAT-COL_POS   = 5.
          GT_FIELDCAT-OUTPUTLEN = 8.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'VERNA'.
          GT_FIELDCAT-SELTEXT_M = 'Responsible Person Desc'.
          GT_FIELDCAT-COL_POS   = 6.
          GT_FIELDCAT-OUTPUTLEN = 25.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'PSPNR_1'.
          GT_FIELDCAT-SELTEXT_M = 'WBS Element'.
          GT_FIELDCAT-COL_POS   = 7.
          GT_FIELDCAT-OUTPUTLEN = 8.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'POSID'.
          GT_FIELDCAT-SELTEXT_M = 'WBS Element'.
          GT_FIELDCAT-COL_POS   = 8.
          GT_FIELDCAT-OUTPUTLEN = 24.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'POST1_1'.
          GT_FIELDCAT-SELTEXT_M = 'WBS DESC'.
          GT_FIELDCAT-COL_POS   = 9.
          GT_FIELDCAT-OUTPUTLEN = 40.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'OBJNR_1'.
          GT_FIELDCAT-SELTEXT_M = 'Object number'.
          GT_FIELDCAT-COL_POS   = 10.
          GT_FIELDCAT-OUTPUTLEN = 22.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'PSPHI'.
          GT_FIELDCAT-SELTEXT_M = 'Currnet Projct'.
          GT_FIELDCAT-COL_POS   = 11.
          GT_FIELDCAT-OUTPUTLEN = 8.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
          GT_FIELDCAT-FIELDNAME = 'VERNR_1'.
          GT_FIELDCAT-SELTEXT_M = 'Responsible Person'.
          GT_FIELDCAT-COL_POS   = 12.
          GT_FIELDCAT-OUTPUTLEN = 8.
        APPEND GT_FIELDCAT TO GT_FIELDCAT.
        CLEAR GT_FIELDCAT.
    endform.                    " BUILD_FIELDCAT
    *                          Display ALV Grid                           *
    *&      Form  DISPLAY_ALV
    form DISPLAY_ALV .
      GT_REPID = SY-REPID.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
    *     I_INTERFACE_CHECK                 = ' '
    *     I_BYPASSING_BUFFER                = ' '
    *     I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                 = GT_REPID
    *     I_CALLBACK_PF_STATUS_SET          = ' '
    *     I_CALLBACK_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                         =
         IT_FIELDCAT                        = GT_FIELDCAT[]
    *     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
    *     I_HTML_HEIGHT_TOP                 = 0
    *     I_HTML_HEIGHT_END                 = 0
    *     IT_ALV_GRAPHICS                   =
    *     IT_HYPERLINK                      =
    *     IT_ADD_FIELDCAT                   =
    *     IT_EXCEPT_QINFO                   =
    *     IR_SALV_FULLSCREEN_ADAPTER        =
    *   IMPORTING
    *     E_EXIT_CAUSED_BY_CALLER           =
    *     ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = IT_FINAL
    *   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

  • Icons in ALV ECC 6.0

    Hi All,
    I am displaying ALV by using FM 'REUSE_ALV_LIST_DISPLAY'.
    When i try to display ICON (ICON_4 ICON_RED_LIGHT                 '@0A@'."  Red light; negative) in ALV,
    i get short dump.
    I am using ECC 6.0
    Any pointers in this direction will be helpful.
    Please let me know how to use ICONS in FM using ECC 6.0
    Best Regards,
    Tarun

    Hi Tarun,
    We can use ICONS in this Way.
    I have used this Icons for CS02.
    Hope this will help you.Sample.
    *& Report  ZPP_BOM_CHANGE1
    REPORT  zpp_bom_change1  LINE-SIZE 155.
    TYPE-POOLS : slis.
    INCLUDE <list>.
    TABLES : mast,stpo,cdpos,cdhdr,syst.
    TYPES : BEGIN OF ty_final,
             matnr TYPE mast-matnr,
             werks TYPE mast-werks,
             stlan TYPE mast-stlan,
             stlal TYPE mast-stlal,
             mandt TYPE sy-mandt,
             stlty TYPE stpo-stlty,
           IDNRK TYPE MAST-IDNRK,
             stlnr TYPE stpo-stlnr,
             annam TYPE mast-annam,
             idnrk TYPE stpo-idnrk,
             posnr TYPE stpo-posnr,
             menge TYPE stpo-menge,
             meins TYPE stpo-meins,
             postp TYPE stpo-postp,
             andat TYPE stpo-andat,
             aedat TYPE stpo-aedat,
             maktx TYPE makt-maktx,
             changenr TYPE cdpos-changenr,
             chngind TYPE cdpos-chngind,
             tabkey TYPE cdpos-tabkey,
             value_new TYPE cdpos-value_new,
             qty(13) TYPE c,
             unit(3) TYPE  c,
             qty_old(13) type  c,
             name(12) TYPE c,
             unit_new TYPE cdpos-unit_new,
             value_old TYPE cdpos-value_old,
             unit_old TYPE cdpos-unit_old,
             username TYPE cdhdr-username,
             udate TYPE cdhdr-udate,
             tcode TYPE cdhdr-tcode,
             carrid(10) TYPE c,
             status TYPE string,
             vardat TYPE sy-datum,
             tabix TYPE sy-tabix,
             fname TYPE cdpos-fname,
            END OF ty_final.
    DATA : wa_final TYPE ty_final,
           it_final TYPE TABLE OF ty_final INITIAL SIZE 0.
    TYPES : BEGIN OF ty_mast,
             matnr TYPE mast-matnr,
             werks TYPE mast-werks,
             stlan TYPE mast-stlan,
             stlnr TYPE mast-stlnr,
             stlal TYPE mast-stlal,
             aedat TYPE mast-aedat,
              annam TYPE mast-annam,
           END OF ty_mast.
    DATA : wa_mast TYPE ty_mast,
           it_mast TYPE TABLE OF ty_mast INITIAL SIZE 0.
    TYPES : BEGIN OF ty_stpo,
             mandt TYPE sy-mandt,
             stlty TYPE stpo-stlty,
             stlnr TYPE stpo-stlnr,
             stlkn TYPE stpo-stlkn,
             stpoz TYPE stpo-stpoz,
             annam TYPE stpo-annam,
             aenam TYPE stpo-aenam,
             idnrk TYPE stpo-idnrk,
             posnr TYPE stpo-posnr,
             menge TYPE stpo-menge,
             meins TYPE stpo-meins,
             postp TYPE stpo-postp,
             andat TYPE stpo-andat,
             aedat TYPE stpo-aedat,
             mkey(70),
            END OF ty_stpo.
    DATA : wa_stpo TYPE ty_stpo,
           it_stpo TYPE TABLE OF ty_stpo INITIAL SIZE 0.
    TYPES: BEGIN OF ty_cdpos,
            objectclas TYPE cdpos-objectclas,
            objectid TYPE cdpos-objectid,
            tabkey TYPE cdpos-tabkey,
            changenr TYPE cdpos-changenr,
            chngind TYPE cdpos-chngind,
            value_new TYPE cdpos-value_new,
            unit_new TYPE cdpos-unit_new,
            value_old TYPE cdpos-value_old,
            unit_old TYPE cdpos-unit_old,
            fname TYPE cdpos-fname,
          END OF ty_cdpos.
    DATA: wa_cdpos TYPE ty_cdpos,
          it_cdpos TYPE TABLE OF ty_cdpos INITIAL SIZE 0.
    TYPES: BEGIN OF ty_cdpos1,
            objectclas TYPE cdpos-objectclas,
            objectid TYPE cdpos-objectid,
            tabkey TYPE cdpos-tabkey,
            changenr TYPE cdpos-changenr,
            chngind TYPE cdpos-chngind,
            value_new TYPE cdpos-value_new,
            unit_new TYPE cdpos-unit_new,
            value_old TYPE cdpos-value_old,
            unit_old TYPE cdpos-unit_old,
            fname TYPE cdpos-fname,
          END OF ty_cdpos1.
    DATA: wa_cdpos1 TYPE ty_cdpos1,
          it_cdpos1 TYPE TABLE OF ty_cdpos1 INITIAL SIZE 0.
    TYPES:  BEGIN OF ty_cdhdr,
                objectid TYPE cdhdr-objectid,
                objectclas TYPE cdhdr-objectclas,
                changenr TYPE cdhdr-changenr,
                username TYPE cdhdr-username,
                change_ind TYPE cdhdr-change_ind,
                udate TYPE cdhdr-udate,
                tcode TYPE cdhdr-tcode,
          END OF ty_cdhdr.
    DATA: wa_cdhdr TYPE ty_cdhdr,
              it_cdhdr TYPE STANDARD TABLE OF ty_cdhdr INITIAL SIZE 0.
    TYPES : BEGIN OF ty_makt,
             matnr TYPE makt-matnr,
             maktx TYPE makt-maktx,
            END OF ty_makt.
    DATA : wa_makt TYPE ty_makt,
         it_makt TYPE TABLE OF ty_makt INITIAL SIZE 0.
    TYPES : BEGIN OF ty_stas,
             mandt type stas-mandt,
             stlty type stas-stlty,
             stlnr TYPE stas-stlnr,
             stlal type stas-stlal,
             stlkn type stas-stlkn,
             stasz type stas-stasz,
             stvkn TYPE stas-stvkn,
             skey(70),
            END OF ty_stas.
    DATA : wa_stas TYPE ty_stas,
         it_stas TYPE TABLE OF ty_stas INITIAL SIZE 0.
    DATA: var(20) TYPE c,
          var2(70),
          var4(70),
          var8(2),
          var6(10) TYPE c,
          VAR7(10),
          wa_stlnr TYPE stpo-stlnr.
    *DATA: BEGIN OF wa,
         mandt TYPE sy-mandt,
         stlty TYPE stpo-stlty,
         stlnr TYPE stpo-stlnr,
         END OF wa.
    DATA: BEGIN OF old occurs 0,
          ovalue(15),
          ounit(5),
          okey(70),
          END OF old.
    *DATA: BEGIN OF wa_makt,
           matnr type makt-matnr,
           maktx type makt-maktx,
          END OF wa_makt.
    DATA: var1(18) TYPE c.
    DATA: var5(18) TYPE c.
    DATA: var3(18).
    DATA: var9(40).
    DATA: vardat TYPE sy-datum.
    DATA: qty(18) TYPE c.
         VARDAT1 TYPE SY-DATUM.
    DATA: v_repid LIKE sy-repid.
    DATA: fcat TYPE slis_t_fieldcat_alv,
            header TYPE slis_t_listheader,
           events TYPE slis_t_event.
    CONSTANTS: formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
    DATA: layout TYPE slis_layout_alv.
    layout-zebra = 'X'.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE tit1.
    PARAMETERS : s_matnr LIKE mast-matnr,
                     s_werks LIKE mast-werks,
                     s_stlan LIKE mast-stlan.
    Select-options : s_stlal For mast-stlal no-extension no intervals,
                  : Date for sy-datum.
                   s_stlal LIKE mast-stlal.
    SELECTION-SCREEN END OF BLOCK blk1.
    INITIALIZATION.
      tit1 = 'SELECTION-CRITERIA'.
      v_repid = sy-repid.
      PERFORM field_catalog USING fcat[].
      PERFORM build_eventtab USING events[].
    START-OF-SELECTION.
      SELECT matnr werks stlan  stlnr stlal annam FROM mast INTO
      CORRESPONDING FIELDS OF TABLE it_mast
       WHERE matnr = s_matnr
         AND werks = s_werks
         AND stlan = s_stlan
         AND stlal in s_stlal .
      if sy-subrc eq 0.
      SELECT mandt stlty stlnr stlal stlkn stasz stvkn FROM stas
      INTO TABLE it_stas FOR ALL ENTRIES IN it_mast WHERE stlnr = it_mast-stlnr
                                                      AND   stlal = it_mast-stlal
                                                      AND  stlty = 'M'.
      endif.
      if sy-subrc eq 0.
      SELECT mandt stlty stlnr stlkn stpoz idnrk annam aenam posnr menge meins postp andat aedat FROM stpo INTO
      CORRESPONDING FIELDS OF TABLE it_stpo
        FOR ALL ENTRIES IN it_stas
        WHERE stlkn = it_stas-stvkn
              AND stlnr = it_stas-stlnr
              AND postp = 'L'
              AND stlty = 'M'
              AND andat in DATE.
      endif.
      LOOP AT it_stpo INTO wa_stpo.
        CONCATENATE wa_stpo-mandt wa_stpo-stlty wa_stpo-stlnr INTO var.
        CONCATENATE wa_stpo-mandt wa_stpo-stlty wa_stpo-stlnr wa_stpo-stlkn wa_stpo-stpoz INTO var2.
        wa_stpo-mkey = var2.
        MODIFY it_stpo FROM wa_stpo.
      ENDLOOP.
       LOOP AT it_stas INTO wa_stas.
        CONCATENATE wa_stas-mandt wa_stas-stlty wa_stas-stlnr wa_stas-stlal wa_stas-stlkn wa_stas-stasz INTO var4.
        wa_stas-skey = var4.
        MODIFY it_stas FROM wa_stas.
      ENDLOOP.
      SELECT objectid objectclas changenr username change_ind udate tcode FROM cdhdr INTO TABLE it_cdhdr
        WHERE objectid = var AND objectclas = 'STUE'  AND UDATE in Date.
    if sy-subrc eq 0.
      SELECT   objectclas
                objectid
                tabkey
                changenr
                chngind
                value_new
                unit_new
                value_old
                unit_old
                fname
                INTO TABLE it_cdpos FROM cdpos
                FOR ALL ENTRIES IN it_cdhdr WHERE changenr = it_cdhdr-changenr
                AND  tabname = 'STPO' AND ( fname = 'MENGE'  OR fname = 'KEY' ) .
      SELECT   objectclas
                objectid
                tabkey
                changenr
                chngind
                value_new
                unit_new
                value_old
                unit_old
                fname
                INTO TABLE it_cdpos1 FROM cdpos
                FOR ALL ENTRIES IN it_cdhdr WHERE changenr = it_cdhdr-changenr
                AND  tabname = 'STAS' AND chngind = 'D' and fname = 'KEY'.
    endif.
      if sy-subrc eq 0.
      SELECT matnr maktx FROM makt INTO TABLE it_makt
             FOR ALL ENTRIES IN it_stpo
             WHERE matnr = it_stpo-idnrk AND spras = 'EN'.
      endif.
      SORT it_stpo BY idnrk.
      SORT it_stpo BY posnr.
      CLEAR wa_final.
      LOOP AT  it_cdpos INTO wa_cdpos .
       if s_stlal ne ''.
        LOOP AT it_stpo INTO wa_stpo WHERE mkey = wa_cdpos-tabkey.
          wa_final-fname = wa_cdpos-fname.
          wa_final-chngind = wa_cdpos-chngind.
          wa_final-changenr = wa_cdpos-changenr.
          wa_final-tabkey  = wa_cdpos-tabkey.
          wa_final-value_old = wa_cdpos-value_old.
          wa_final-value_new = wa_cdpos-value_new.
          wa_final-unit_new = wa_cdpos-unit_new.
          wa_final-unit_old = wa_cdpos-unit_old.
          READ TABLE it_cdhdr INTO wa_cdhdr WITH KEY changenr = wa_cdpos-changenr.
          wa_final-username = wa_cdhdr-username.
          wa_final-udate = wa_cdhdr-udate.
          wa_final-tcode = wa_cdhdr-tcode.
          APPEND wa_final TO it_final.
        ENDLOOP.
      else.
        wa_final-fname = wa_cdpos-fname.
          wa_final-chngind = wa_cdpos-chngind.
          wa_final-changenr = wa_cdpos-changenr.
          wa_final-tabkey  = wa_cdpos-tabkey.
          wa_final-value_old = wa_cdpos-value_old.
          wa_final-value_new = wa_cdpos-value_new.
          wa_final-unit_new = wa_cdpos-unit_new.
          wa_final-unit_old = wa_cdpos-unit_old.
          READ TABLE it_cdhdr INTO wa_cdhdr WITH KEY changenr = wa_cdpos-changenr.
          wa_final-username = wa_cdhdr-username.
          wa_final-udate = wa_cdhdr-udate.
          wa_final-tcode = wa_cdhdr-tcode.
          APPEND wa_final TO it_final.
       endif.
      ENDLOOP.
    clear wa_final.
      LOOP AT it_final INTO wa_final.
        IF wa_final-chngind = 'I'.
          LOOP AT it_stpo INTO wa_stpo WHERE mkey = wa_final-tabkey.
            WRITE: wa_stpo-idnrk TO var1 NO-ZERO.
            wa_final-idnrk = var1.
            wa_final-posnr = wa_stpo-posnr.
            wa_final-name = wa_stpo-annam.
            wa_final-qty = wa_stpo-menge.
            wa_final-unit = wa_stpo-meins.
            wa_final-vardat = wa_stpo-andat.
            READ TABLE it_makt INTO wa_makt WITH KEY matnr = wa_stpo-idnrk.
            wa_final-maktx = wa_makt-maktx.
            MODIFY it_final FROM wa_final.
          ENDLOOP.
           clear wa_final.
            clear wa_stpo.
          LOOP AT it_stpo INTO wa_stpo WHERE mkey ne wa_final-tabkey.
             wa_final-name = wa_final-username.
             wa_final-vardat = wa_final-udate.
            Modify it_final from wa_final.
            endloop.
        ENDIF.
      ENDLOOP.
      LOOP AT it_final INTO wa_final.
        IF wa_final-chngind = 'U'.
          LOOP AT it_stpo INTO wa_stpo WHERE mkey = wa_final-tabkey.
            WRITE: wa_stpo-idnrk TO var1 NO-ZERO.
            wa_final-idnrk = var1.
            MOVE: wa_stpo-posnr to wa_final-posnr.
            MOVE:  wa_final-value_new TO wa_final-qty.
            MOVE: wa_final-unit_new TO wa_final-unit.
            MOVE: wa_final-udate TO wa_final-vardat.
            MOVE: wa_final-username TO wa_final-name.
            old-ovalue = wa_final-value_old.
            old-ounit  = wa_final-unit_old.
            old-okey   = wa_final-tabkey.
            READ TABLE it_makt INTO wa_makt WITH KEY matnr = wa_stpo-idnrk.
            wa_final-maktx = wa_makt-maktx.
            MODIFY it_final FROM wa_final.
            Append old.
          ENDLOOP.
        ENDIF.
      ENDLOOP.
    delete adjacent duplicates from old comparing okey.
      LOOP AT it_final INTO wa_final.
      loop at old where okey = wa_final-tabkey.
       if wa_final-chngind = 'I'.
           wa_final-qty = old-ovalue.
            wa_final-unit = old-ounit.
        Modify it_final from wa_final.
       endif.
      endloop.
    endloop.
       if s_stlal ne ''.
    clear wa_final.
      LOOP AT it_cdpos1 INTO wa_cdpos1.
      if wa_cdpos1-chngind = 'D'.
        var8 = wa_cdpos1-tabkey+12(2).
      Read table it_stas into wa_stas with key stlal = var8.
       if sy-subrc eq 0.
         wa_final-chngind = wa_Cdpos1-chngind.
         wa_final-tabkey  = wa_cdpos1-tabkey.
       READ TABLE it_cdhdr INTO wa_cdhdr WITH KEY changenr = wa_cdpos1-changenr.
          wa_final-username = wa_cdhdr-username.
          wa_final-udate = wa_cdhdr-udate.
       append wa_final to it_final.
       endif.
      endif.
      endloop.
      endif.
      SORT it_final BY  andat udate .
      SORT it_final BY changenr.
      sort it_final by idnrk.
      LOOP AT it_final INTO wa_final .
        IF wa_final-chngind = 'I' .
          MOVE: icon_green_light TO wa_final-carrid.
          MOVE: 'Created' TO wa_final-status.
         MOVE: wa_final-menge TO wa_final-qty.
         MOVE: wa_final-meins TO wa_final-unit.
         MOVE: wa_final-annam TO wa_final-name.
         MOVE: wa_final-andat TO wa_final-vardat.
          MODIFY it_final FROM wa_final.
        ENDIF.
        IF wa_final-chngind = 'U'.
          MOVE: icon_yellow_light TO wa_final-carrid.
          MOVE: 'Changed' TO wa_final-status.
         MOVE: wa_stpo-idnrk to wa_final-idnrk.
         MOVE:  wa_final-value_new TO wa_final-qty.
         MOVE: wa_final-meins TO wa_final-unit.
         MOVE: wa_final-udate TO wa_final-vardat.
         MOVE: wa_final-username TO wa_final-name.
          MODIFY it_final FROM wa_final.
        ENDIF.
        IF  wa_final-chngind = 'D'.
          MOVE: icon_red_light TO wa_final-carrid.
          MOVE: 'Deleted' TO wa_final-status.
          wa_final-idnrk = ''.
          wa_final-posnr = ''.
          wa_final-maktx = ''.
          wa_final-qty = ''.
          wa_final-unit = ''.
          wa_final-value_old = ''.
          wa_final-unit_old = ''.
          wa_final-name = wa_final-username.
          wa_final-vardat = wa_final-udate.
          MODIFY it_final FROM wa_final.
        ENDIF.
      ENDLOOP.
      PERFORM list_header USING header[] .
      PERFORM alv_display.
    *&      Form  field_catalog
          text
         -->P_FCAT[]  text
    FORM field_catalog  USING p_fcat TYPE slis_t_fieldcat_alv.
      DATA: a_fcat TYPE slis_fieldcat_alv.
      REFRESH p_fcat[].
      CLEAR a_fcat.
      a_fcat-col_pos     = 1.
      a_fcat-fieldname   = 'CARRID'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Indicator'.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 2.
      a_fcat-fieldname   = 'STATUS'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Status'.
      a_fcat-outputlen   = 10.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 3.
      a_fcat-fieldname   = 'VARDAT'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'DATE'.
      a_fcat-outputlen   = 10.
    APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos    = 4.
      a_fcat-fieldname   = 'IDNRK'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Material'.
    a_fcat-lzero       = ' '.
    a_fcat-outputlen   = 20.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos      = 5.
      a_fcat-fieldname   = 'MAKTX'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Material Description'.
      a_fcat-outputlen   = 40.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 6.
      a_fcat-fieldname   = 'POSNR'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Item'.
      a_fcat-outputlen   = 06.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 7.
      a_fcat-fieldname   = 'VALUE_OLD'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Old_Quantity'.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 8.
      a_fcat-fieldname   = 'UNIT_OLD'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Old_Unit'.
      a_fcat-outputlen   = 09.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 9.
      a_fcat-fieldname   = 'QTY'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'New_Quantity'.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 10.
      a_fcat-fieldname   = 'UNIT'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'New_Unit'.
      a_fcat-outputlen   = 09.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
      a_fcat-col_pos     = 11.
      a_fcat-fieldname   = 'NAME'.
      a_fcat-tabname     = 'IT_FINAL'.
      a_fcat-seltext_l   = 'Username'.
      APPEND a_fcat TO p_fcat.
      CLEAR a_fcat.
    ENDFORM.                    " field_catalog
    *&      Form  alv_display
          text
    -->  p1        text
    <--  p2        text
    FORM alv_display .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         i_callback_program               = sy-repid
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
       i_callback_top_of_page             = '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                        = layout
         it_fieldcat                      = fcat[]
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
       it_events                          = 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_final[]
    EXCEPTIONS
      PROGRAM_ERROR                     = 1
      OTHERS                            = 2
      IF sy-subrc <> 0.ENDIF
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDFORM.                    " alv_display
    *&      Form  list_header
          text
         -->P_HEADER[]  text
    FORM list_header  USING    p_header TYPE slis_t_listheader.
      DATA: a_header TYPE slis_listheader,
              w_date(35),
              text1(50) TYPE c,
              text2(50) TYPE c,
              text3(50) TYPE c,
               text4(50) TYPE c,
               text5(50) type c,
               text6(50) type c.
      WRITE: s_matnr TO var5 NO-ZERO.
      select single matnr maktx from makt into wa_makt where matnr = s_matnr.
      var9 = wa_makt-maktx.
      WRITE: text-001 TO text1,
               text-002 TO text2,
               text-003 TO text3,
               text-004 TO text4,
               text-005 to text5,
               text-006 to text6.
    *clear a_header.
    write:  date-low to var6 using EDIT MASK '==PDATE'.
    write:  date-high to var7 using EDIT MASK '==PDATE'.
    concatenate 'From :' VAR6 '  To : ' VAR7 into w_date.
    clear a_header.
      a_header-typ = 'H'.
      a_header-info = 'Bevcon Wayors Pvt.Ltd'.
      APPEND a_header TO p_header.
      a_header-typ = 'H'.
      a_header-info = 'Engg Changes in Material BOM'.
      APPEND a_header TO p_header.
      a_header-typ = 'S'.
      a_header-info = var5.
      a_header-key  = text1.
      APPEND a_header TO p_header.
      a_header-typ = 'S'.
      a_header-info =  var9.
      a_header-key  = text2.
      APPEND a_header TO p_header.
        a_header-typ = 'S'.
      a_header-info = s_werks.
      a_header-key  = text3.
      APPEND a_header TO p_header.
      a_header-typ = 'S'.
      a_header-info = s_stlan.
      a_header-key  = text4.
      APPEND a_header TO p_header.
      a_header-typ = 'S'.
      a_header-info = s_stlal-low.
      a_header-key  = text5.
      APPEND a_header TO p_header.
       a_header-typ = 'S'.
      a_header-info =  w_date.
      a_header-key  = text6.
      APPEND a_header TO p_header.
    ENDFORM.                    " list_header
    *&      Form  build_eventtab
          text
         -->P_EVENTS[]  text
    FORM build_eventtab  USING    p_events TYPE slis_t_event.
      DATA: a_events TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = p_events.
      READ TABLE p_events INTO a_events WITH KEY name = slis_ev_top_of_page.
      IF sy-subrc EQ 0.
        MOVE formname_top_of_page TO a_events-form.
        APPEND a_events TO p_events.
      ENDIF.
    ENDFORM.                    " build_eventtab
    *&      Form  top_of_page
          text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary       = header
         I_LOGO                       = ''
       I_END_OF_LIST_GRID       =
    ENDFORM.                    "top_of_page
    Best of Luck.
    with Regards,
    Sharmishta.

  • How to change the Traffic light positioning in ALV?

    Hai All,
    I am displaying a traffic light field in my ALV Grid. Now i want to display another field in the first position and move the traffic light to second or any other position. COL_POS seems to be not working, is there any chance of doing this?
    Best regards,
    rama

    >
    newtoAbap wrote:
    > Hai All,
    >
    > I am displaying a traffic light field in my ALV Grid. Now i want to display another field in the first position and move the traffic light to second or any other position. COL_POS seems to be not working, is there any chance of doing this?
    >
    > Best regards,
    > rama
    If you are using EXCP_FNAME in the ALV layout to display your traffic lights, it may not be possible to move your light field to any other position..
    One possiblity is to define your own field (as icon) in the internal table and assign the Traffic light icon to that field... By this approach, you can position that field in any place in your input structure while generating field catalog or defining your structure
    Here is an example with SALV,
    http://wiki.sdn.sap.com/wiki/display/Snippets/displayingiconsinalvusingclasscl_salv_table
    Example with icons in REUSE FM (can be used in ALV OO) and there should be umpteen examples in SDN also
    http://wiki.sdn.sap.com/wiki/display/Snippets/TrafficlightsinALVdisplay

  • How to use traffic lights concept in alv in webdynpro abap

    Hai ,
              How to use traffic lights concept for alv in webdynpro abap. If possible give me some code.

    Hi Ravi,
    You can create ICON  to get traffic light.
    Go through this step by step.. in this example
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/1190424a-0801-0010-84b5-ef03fd2d33d9?quicklink=index&overridelayout=true
    Please go through this...
    Re: Display ICON in the ALV table column
    Re: Image in ALV
    cheers,
    Kris.

  • How to write ICONS in ALV TOP of Page

    Hai experts,
    How to ICON in ALV  Top of PAGE
    i want to wrire
    ICON_LED_RED for cancellation Invioce
    ICON_LED_GREEN for  Invioce
    but i pass this values to wa_header-info it comes  @5C@ @5B@
    thanks
    sitaram

    Hi...
       I think this code is help full for u....
    *& 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.
              o
                    +
                    + 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]
    Regards,
    Rahul
    Edited by: Rahul Reddy on Apr 14, 2008 12:33 PM

  • Microsoft Excel Icon in ALV Grid Report

    Hi all,
    We have a customized report. When we execute that reports, it open in ALV Grid format. When we choose "Microsoft Excel" Icon to change layout to Excel, it then shows the report in excel without any data.
    Can any one please tell me that why there is no data? should i need to do any settings in excel for this?
    Please respond.
    Best Regards,
    AI

    Hi,
    Refer these:
    Microsoft Excel Icon in ALV Grid Report
    Re: Not able display the Excel Icon in ALV List Display
    Hope it helps
    Regards
    Mansi

  • How to show icons in ALV grid ...

    Hi guyz ,
      A lill query ....
      In an ALV gird ,if i need to display icons in one of the columns , say i have
      a field called Status , where i need show some icons like green , yellow and
      red circles , depending on some other fileds say invoice reciept date .
      So can i get icons in ALV colums.
      Please advise .
    Thanks
    Jahan

    This is very easy.  IN your status field in your internal table, you simply write the icon to it.  Make sure that the status field is defined as a character field with a length of 4.  Then write the icon to it.
    Type-pools: icon.
        write icon_green_light as icon to itab-status.
    Then when filling the field catalog, set the ICON flag.  This puts the icon in the center of the cell in ALV.
      xfc-icon     = 'X'.
      append xfc to ifc.
    Regards,
    Rich Heilman

  • How to insert Traffic light icon in Table UI column

    Hi Expert,
    I am not able to put traffic light icon to table UI's column.
    Can any one help me.
    Thanks and Regards,
    Anil

    Hi,
    For that column of the TABLE, while create BInding option, give the UI element as Image type.
    In the Layout tab of the view, for that column, cell editor give the Image source as the
    ICON......
    Clarify this -
    Do you want to show this icon on any condition basis or ?
    Out of 6 oclumns for which column you want the traffic light icon...
    Hope you got this.
    Regards,
    Lekha.

  • Turn off light icons in viewport

    Here's the quick 'n dumb question of the day:  How the heck do I turn off the light icons in the viewport?

    You can go into View Options (View > View Options) to control part of a spotlight's wireframe. If you want light icons completely off (along with a bunch of other stuff), you can deselect the Show Layer Controls option (View > Show Layer Controls).
    Jeff

  • Creation of icon in alv toolbar

    Hi All,
    i need to create a icon in alv toolbar.
    But i have not created any 'Z' program.
    i have created one function module, through that function module i am displaying the ALV grid.
    when i am copying the standard pf-status it is asking for program name. but i am using only the function module.
    pls help me on this for creating the icon in alv toolbar.
    thanks in advance.

    Hello Aishvarya,
    Perhaps the code below will help guide you along.
    FUNCTION z_alv_screen .
    *"*"Local Interface:
    *"  CHANGING
    *"     REFERENCE(ITAB) TYPE  ZSFLIGHT_TT
      DATA: gr_table TYPE REF TO cl_salv_table.
    * ALV
    *... Create Instance
      TRY.
          CALL METHOD cl_salv_table=>factory
            IMPORTING
              r_salv_table = gr_table
            CHANGING
              t_table      = itab[].
        CATCH cx_salv_msg.
      ENDTRY.
      gr_table->set_screen_status(
                  pfstatus      =  'SALV_STANDARD'
                  report        = 'SAPLZRAE'
                  set_functions = gr_table->c_functions_all ).
    *... Display Table
      gr_table->display( ).
    ENDFUNCTION.
    Edited by: Rae Ellen Woytowiez on Mar 21, 2011 5:17 PM

  • Traffic Light Icons

    traffic light icons are working but are greyed out, does anyone have the same problem or know of a fix?

    traffic light icons are working but are greyed out, does anyone have the same problem or know of a fix?

  • Two Icons on ALV tree in same row

    Hi all,
    I need to show 2 ICONS instead of regular one icon on ALV Tree,at the same node like the easy cost planning on CJ20N.
    I use the SALV Tree.
    Thanks,
    Omer g

    Hi Omer,
    You can achieve this by playing with is_node_layout and it_item_layout parameters of the method add_node:
    set item-layout
      data: lt_item_layout type lvc_t_layi,
               ls_item_layout type lvc_s_layi.
      ls_item_layout-t_image = '@01@'.
      ls_item_layout-fieldname = o_tree->c_hierarchy_column_name.
      append ls_item_layout to lt_item_layout.
    add node
      l_node_text =  'node_text'.
      data: ls_node type lvc_s_layn.
      ls_node-n_image   = '@02@'.
      ls_node-exp_image = '@02@'.
      call method o_tree->add_node
        exporting
          i_relat_node_key = p_relat_key
          i_relationship   = cl_gui_column_tree=>relat_last_child
          i_node_text      = l_node_text
          is_outtab_line   = ls_outtab
          is_node_layout   = ls_node
          it_item_layout   = lt_item_layout
        importing
          e_new_node_key   = p_node_key.
    Hope it helps,
    Kr

Maybe you are looking for