Set column ( Hide / Visible) classic ALV Report.
Steps to create classic ALV report are below.
1. create an executable ABAP program YUA_ALV_REPORT using transaction SE38.
2. create local class demo
3. declare TYPES in private section of class definition
4. declare static internal table in private section of class definition
5. declare main method in public section of class definition
6. implement main method of demo class
7. retrieve data into internal table inside main method
8. create alv object for class cl_salv_table
9. display ALV report using clv object
Sample code demonstarates how to hide colums in classic ALV report
REPORT yua_alv_report.
CLASS demo DEFINITION.
PUBLIC SECTION.
CLASS-METHODS main.
PRIVATE SECTION.
TYPES: BEGIN OF ty_data,
carrid TYPE s_carr_id,
carrname TYPE s_carrname,
currcode TYPE s_currcode,
connid TYPE s_conn_id,
fldate TYPE s_date,
price TYPE s_price,
currency TYPE s_currcode,
planetype TYPE s_planetye,
seatsmax TYPE s_seatsmax,
seatsocc TYPE s_seatsocc,
paymentsum TYPE s_sum,
seatsmax_b TYPE s_smax_b,
seatsocc_b TYPE s_socc_b,
seatsmax_f TYPE s_smax_f,
seatsocc_f TYPE s_socc_f,
url TYPE s_carrurl,
END OF ty_data.
CLASS-DATA t_data TYPE TABLE OF ty_data.
ENDCLASS.
CLASS demo IMPLEMENTATION.
METHOD main.
SELECT b~carrid
b~carrname
b~currcode
a~connid
a~fldate
a~price
a~currency
a~planetype
a~seatsmax
a~seatsocc
a~paymentsum
a~seatsmax_b
a~seatsocc_b
a~seatsmax_f
a~seatsocc_f
b~url
FROM sflight as a
INNER JOIN scarr as b
ON a~carrid = b~carrid
INTO TABLE t_data.
TRY.
cl_salv_table=>factory(
IMPORTING r_salv_table = DATA(alv)
CHANGING t_table = t_data ).
DATA(columns) = alv->get_columns( ).
DATA(col_tab) = columns->get( ).
LOOP AT col_tab ASSIGNING FIELD-SYMBOL(<column>).
<column>-r_column->set_output_length( 40 ).
IF <column>-columnname EQ 'CARRID' OR <column>-columnname = 'CARRNAME' OR
<column>-columnname = 'URL'.
<column>-r_column->set_visible( 'X' ).
ELSE.
<column>-r_column->set_visible( ' ' ).
ENDIF.
ENDLOOP.
alv->display( ).
CATCH cx_salv_msg.
MESSAGE 'ALV display not possible' TYPE 'I'
DISPLAY LIKE 'E'.
ENDTRY.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
demo=>main( ).
Output generated as below:
No comments:
Post a Comment