‎2008 Jul 31 10:19 AM
‎2008 Jul 31 10:20 AM
hi,
check the code
REPORT z_alv_ooabap .
TABLES:
spfli.
DATA:
w_grid TYPE REF TO cl_gui_alv_grid,
w_container TYPE REF TO cl_gui_custom_container.
DATA:
t_spfli LIKE STANDARD TABLE OF spfli WITH HEADER LINE,
wa_field_catalog TYPE lvc_s_fcat,
t_field_catalog TYPE lvc_t_fcat,
wa_layout TYPE lvc_s_layo.
SELECT * FROM spfli INTO TABLE t_spfli.
CALL SCREEN '0100'.
&----
*& Module set_layout OUTPUT
&----
text
----
MODULE set_layout OUTPUT.
wa_layout-grid_title = 'SPFLI TABLE DETAILS'.
wa_layout-zebra = 'X'.
ENDMODULE. " set_layout OUTPUT
&----
*& Module field_catalog OUTPUT
&----
text
----
MODULE field_catalog OUTPUT.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CARRID'.
wa_field_catalog-ref_field = 'CARRID'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 1.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CONNID'.
wa_field_catalog-ref_field = 'CONNID'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 2.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CITYFROM'.
wa_field_catalog-ref_field = 'CITYFROM'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 3.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CITYTO'.
wa_field_catalog-ref_field = 'CITYTO'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 4.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'DISTANCE'.
wa_field_catalog-ref_field = 'DISTANCE'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 5.
wa_field_catalog-do_sum = 'X'.
wa_field_catalog-Emphasize = 'X'.
wa_field_catalog-Hotspot = 'X'.
APPEND wa_field_catalog TO t_field_catalog.
ENDMODULE. " field_catalog OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module manage_alv_grid OUTPUT
&----
text
----
MODULE manage_alv_grid OUTPUT.
IF w_grid IS INITIAL.
CREATE OBJECT w_container
EXPORTING
container_name = 'CONTAINER1'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CREATE OBJECT w_grid
EXPORTING
i_parent = w_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
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 w_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'SPFLI'
is_layout = wa_layout
CHANGING
it_outtab = t_spfli[]
it_fieldcatalog = t_field_catalog
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.
ELSE.
MESSAGE 'GRID IS NOT INITAL' TYPE 'I'.
ENDIF.
ENDMODULE. " manage_alv_grid OUTPUT
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ALVS_GUI'.
SET TITLEBAR 'TIT'.
ENDMODULE. " STATUS_0100 OUTPUT
Regards,
anirban
‎2008 Jul 31 10:20 AM
hi,
check the code
REPORT z_alv_ooabap .
TABLES:
spfli.
DATA:
w_grid TYPE REF TO cl_gui_alv_grid,
w_container TYPE REF TO cl_gui_custom_container.
DATA:
t_spfli LIKE STANDARD TABLE OF spfli WITH HEADER LINE,
wa_field_catalog TYPE lvc_s_fcat,
t_field_catalog TYPE lvc_t_fcat,
wa_layout TYPE lvc_s_layo.
SELECT * FROM spfli INTO TABLE t_spfli.
CALL SCREEN '0100'.
&----
*& Module set_layout OUTPUT
&----
text
----
MODULE set_layout OUTPUT.
wa_layout-grid_title = 'SPFLI TABLE DETAILS'.
wa_layout-zebra = 'X'.
ENDMODULE. " set_layout OUTPUT
&----
*& Module field_catalog OUTPUT
&----
text
----
MODULE field_catalog OUTPUT.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CARRID'.
wa_field_catalog-ref_field = 'CARRID'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 1.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CONNID'.
wa_field_catalog-ref_field = 'CONNID'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 2.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CITYFROM'.
wa_field_catalog-ref_field = 'CITYFROM'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 3.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'CITYTO'.
wa_field_catalog-ref_field = 'CITYTO'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 4.
APPEND wa_field_catalog TO t_field_catalog.
CLEAR wa_field_catalog.
wa_field_catalog-fieldname = 'DISTANCE'.
wa_field_catalog-ref_field = 'DISTANCE'.
wa_field_catalog-ref_table = 'SPFLI'.
wa_field_catalog-col_pos = 5.
wa_field_catalog-do_sum = 'X'.
wa_field_catalog-Emphasize = 'X'.
wa_field_catalog-Hotspot = 'X'.
APPEND wa_field_catalog TO t_field_catalog.
ENDMODULE. " field_catalog OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module manage_alv_grid OUTPUT
&----
text
----
MODULE manage_alv_grid OUTPUT.
IF w_grid IS INITIAL.
CREATE OBJECT w_container
EXPORTING
container_name = 'CONTAINER1'
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CREATE OBJECT w_grid
EXPORTING
i_parent = w_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5.
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 w_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'SPFLI'
is_layout = wa_layout
CHANGING
it_outtab = t_spfli[]
it_fieldcatalog = t_field_catalog
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.
ELSE.
MESSAGE 'GRID IS NOT INITAL' TYPE 'I'.
ENDIF.
ENDMODULE. " manage_alv_grid OUTPUT
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ALVS_GUI'.
SET TITLEBAR 'TIT'.
ENDMODULE. " STATUS_0100 OUTPUT
Regards,
anirban
‎2008 Jul 31 10:21 AM
‎2008 Jul 31 10:22 AM
‎2008 Jul 31 10:24 AM
Go to se38.
Type BCALV* and F4 for that field. That displays a list of sample programs on OOPs ALV.
Regards,
Shailaja
‎2008 Jul 31 10:38 AM
Hi Vikash,
Please check the following links.
http://saptechnical.com/Tutorials/ALV/Total/text.htm
Above link contains example to display Total text in ALV grid using oops concept
http://saptechnical.com/Tutorials/ALV/Interactive/oops.htm
Above link contains program on interactive ALV using OOPS
http://saptechnical.com/Tutorials/ALV/Styles/demo.htm
Above link contains example for ALV Styles in Field catalogue using OOPS
Thanks,
Naveen Kumar.
‎2008 Jul 31 11:45 AM
Hi!
Check out this sample code
REPORT z_alv1.
DATA:
w_carrid TYPE sflight-carrid,
w_connid TYPE sflight-connid.
DATA:
r_cont TYPE REF TO cl_gui_custom_container,
r_grid TYPE REF TO cl_gui_alv_grid.
DATA:
t_fieldcat TYPE lvc_t_fcat,
fs_fieldcat LIKE LINE OF t_fieldcat.
TYPES:
BEGIN OF types_flight,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
price TYPE sflight-price,
currency TYPE sflight-currency,
END OF types_flight.
DATA:
fs_flight TYPE types_flight,
t_flight LIKE
TABLE OF
fs_flight.
SELECT-OPTIONS:
s_carrid FOR w_carrid,
s_connid FOR w_connid.
START-OF-SELECTION.
PERFORM get_data.
CALL SCREEN '0100'.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data .
SELECT carrid
connid
fldate
price
currency
FROM sflight
INTO TABLE t_flight
WHERE carrid IN s_carrid
AND connid IN s_connid.
ENDFORM. " get_data
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS1'.
SET TITLEBAR 'TITLE1'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN '0'.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module alv_grid OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE alv_grid OUTPUT.
CREATE OBJECT r_cont
EXPORTING
container_name = 'CONTAINER_1'
EXCEPTIONS
OTHERS = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CREATE OBJECT r_grid
EXPORTING
i_parent = r_cont
EXCEPTIONS
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
PERFORM build_fieldcat.
CALL METHOD r_grid->set_table_for_first_display
CHANGING
it_outtab = t_flight
it_fieldcatalog = t_fieldcat
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
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.
ENDMODULE. " alv_grid OUTPUT
*&---------------------------------------------------------------------*
*& Form build_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcat .
fs_fieldcat-fieldname = 'CARRID'.
fs_fieldcat-tabname = 'T_FLIGHT'.
fs_fieldcat-scrtext_m = 'Airline Carrier ID'.
APPEND fs_fieldcat TO t_fieldcat.
CLEAR fs_fieldcat.
fs_fieldcat-fieldname = 'CONNID'.
fs_fieldcat-tabname = 'T_FLIGHT'.
fs_fieldcat-lzero = '1'.
fs_fieldcat-scrtext_m = 'Flight Conn ID'.
APPEND fs_fieldcat TO t_fieldcat.
CLEAR fs_fieldcat.
fs_fieldcat-fieldname = 'FLDATE'.
fs_fieldcat-tabname = 'T_FLIGHT'.
fs_fieldcat-scrtext_m = 'Flight Date'.
APPEND fs_fieldcat TO t_fieldcat.
CLEAR fs_fieldcat.
fs_fieldcat-fieldname = 'PRICE'.
fs_fieldcat-tabname = 'T_FLIGHT'.
fs_fieldcat-scrtext_m = 'Price'.
APPEND fs_fieldcat TO t_fieldcat.
CLEAR fs_fieldcat.
fs_fieldcat-fieldname = 'CURRENCY'.
fs_fieldcat-tabname = 'T_FLIGHT'.
fs_fieldcat-scrtext_m = 'Currency'.
APPEND fs_fieldcat TO t_fieldcat.
ENDFORM. " build_fieldcat
Regards
Abhijeet
‎2008 Jul 31 12:09 PM
Hi,
Go through the following link
http://forums.madeitsimple.com/viewtopic.php?f=16&t=23
Hope this will help.
Regards,
Swarna Munukoti.
‎2008 Jul 31 1:09 PM
Hi..
See one example here ...
[http://www.abaplearning.com/index.php?option=com_content&view=section&id=2&Itemid=14 |http://www.abaplearning.com/index.php?option=com_content&view=section&id=2&Itemid=14]
The code samples are for members only... so you will have to login to check..
Here ... it is explained step by step how to program using OO ABAP and controls..
Regards
Varun.
‎2008 Aug 01 9:27 AM
Hi ,
Refer:
http://abapreports.blogspot.com/2008/06/oops-alv-sample-interactive-report.html
Regards,
Muneesh Gitta.
Edited by: Muneesh Gitta on Aug 1, 2008 10:27 AM