Wednesday 16 November 2011

To give the color properties to ALV output and download to local file

Please implement the following program, this will color the second cell of the second line in the ALV grid. It should show you what you need.


report zrich_0004
       no standard page heading.
 
type-pools slis.
 
data: fieldcat type slis_t_fieldcat_alv.
 
data: begin of imara occurs 0,
      matnr type mara-matnr,
      maktx type makt-maktx,
      tcolor type slis_t_specialcol_alv,
      end of imara.
 
data: xcolor type slis_specialcol_alv.
 
start-of-selection.
 
  perform get_data.
  perform write_report.
 
 
************************************************************************
*  Get_Data
************************************************************************
form get_data.
 
imara-matnr = 'ABC'.
imara-maktx = 'This is description for ABC'.
append imara.
 
imara-matnr = 'DEF'.
imara-maktx = 'This is description for DEF'.
append imara.
 
  loop at imara.
 
    if sy-tabix = 2.
      clear xcolor.
      xcolor-fieldname = 'MAKTX'.
      xcolor-color-col = '3'.
      xcolor-color-int = '1'. "Intensified on/off
      xcolor-color-inv = '0'.
 
      append xcolor to imara-tcolor.
 
 
      modify imara.
    endif.
 
  endloop.
 
endform.
 
************************************************************************
*  WRITE_REPORT
************************************************************************
form write_report.
 
  data: layout type  slis_layout_alv.
 
  layout-coltab_fieldname = 'TCOLOR'.
 
 
  perform build_field_catalog.
 
* CALL ABAP LIST VIEWER (ALV)
  call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
            is_layout   = layout
            it_fieldcat = fieldcat
       tables
            t_outtab    = imara.
 
endform.
 
************************************************************************
* BUILD_FIELD_CATALOG
************************************************************************
form build_field_catalog.
 
  data: fc_tmp type slis_t_fieldcat_alv with header line.
  clear: fieldcat. refresh: fieldcat.
 
  clear: fc_tmp.
  fc_tmp-reptext_ddic    = 'Material Number'.
  fc_tmp-fieldname  = 'MATNR'.
  fc_tmp-tabname   = 'IMARA'.
  fc_tmp-outputlen  = '18'.
  fc_tmp-col_pos    = 2.
  append fc_tmp to fieldcat.
 
 
  clear: fc_tmp.
  fc_tmp-reptext_ddic    = 'Material'.
  fc_tmp-fieldname  = 'MAKTX'.
  fc_tmp-tabname   = 'IMARA'.
  fc_tmp-outputlen  = '40'.
  fc_tmp-col_pos    = 3.
  append fc_tmp to fieldcat.
 
endform.
 


If you continue having problems, please post the full code.

No comments:

Post a Comment