Sunday, July 27, 2008

Changing font style in ALV

By Joyjit Ghosh,
Kolkata, India.

By using the Function Module REUSE_ALV_GRID_DISPLAY_LVC we can change the font style in ALV report.

Example:

*&---------------------------------------------------------------------*

*& Report Z_DEMO_ALV_JG *

*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------

REPORT z_demo_alv_jg .

* Include for all style values

INCLUDE <cl_alv_control>.

* Internal table for final output data

DATA: i_flight TYPE STANDARD TABLE OF sflight.

* Internal table for field catalog info

DATA: i_fields TYPE lvc_t_fcat.

* Field symbol for field catalog

FIELD-SYMBOLS: <wa_fields> TYPE lvc_s_fcat.

* Select data

SELECT * FROM sflight

INTO TABLE i_flight

UP TO 100 ROWS.

IF sy-subrc = 0.

* Get field catalog

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'SFLIGHT'

CHANGING

ct_fieldcat = i_fields

EXCEPTIONS

inconsistent_interface = 1

program_error = 2

OTHERS = 3

.

IF sy-subrc = 0.

* Changing the style of field catalog

LOOP AT i_fields ASSIGNING <wa_fields>.

IF sy-tabix > 4.

<wa_fields>-style = ALV_STYLE_FONT_ITALIC.

ELSE.

<wa_fields>-style = ALV_STYLE_FONT_BOLD.

ENDIF.

ENDLOOP.

ENDIF.

* Calling the FM to display ALV report

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'

EXPORTING

i_structure_name = 'SFLIGHT'

i_grid_title = 'Style demo'(001)

it_fieldcat_lvc = i_fields

TABLES

t_outtab = i_flight

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

Output:



No comments: