2008 Aug 04 5:47 AM
hi,
If any one have Sample code for ALV Grid using class. send me
hi,
If any one have Sample code for ALV Grid using class. send me
2008 Aug 04 5:49 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 Aug 04 5:55 AM
Hello Rakesh
You may have a look at one of my sample reports ZUS_SDN_... :
Regards
Uwe
2008 Aug 04 5:58 AM
Hi,
please Check this code...
TABLES:
spfli.
TYPES:
BEGIN OF fs_spfli,
carrid TYPE spfli-carrid,
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
END OF fs_spfli.
*"Selection screen elements............................................
SELECT-OPTIONS:
s_carrid FOR spfli-carrid, " Airline code
s_connid FOR spfli-connid. " Flight connection number
*"--------------------------------------------------------------------*
* Internal table to hold spfli details *
*"--------------------------------------------------------------------*
DATA:
t_spfli TYPE
STANDARD TABLE
OF fs_spfli,
wa_spfli LIKE LINE OF t_spfli. " Workarea for spfli details
*"--------------------------------------------------------------------*
* Internal table to hold field catalog details *
*"--------------------------------------------------------------------*
DATA:
t_fcat TYPE lvc_t_fcat,
wa_fcat TYPE lvc_s_fcat.
*" Data declarations...................................................
*"--------------------------------------------------------------------*
* Work variables *
*"--------------------------------------------------------------------*
DATA:
w_grid TYPE REF TO
cl_gui_alv_grid, " Grid reference
w_container TYPE REF TO
cl_gui_custom_container, " Container reference
w_layout TYPE lvc_s_layo, " Layout structure
w_cont_name TYPE
scrfname VALUE 'CC_ALV'. " Container name
*Calling screen
CALL SCREEN 1152.
*---------------------------------------------------------------------*
* Module status_1152 OUTPUT
*---------------------------------------------------------------------*
* This module is used to set the GUI Status
*---------------------------------------------------------------------*
MODULE status_1152 OUTPUT.
SET PF-STATUS 'ALV_GUI'.
ENDMODULE. " status_1152 OUTPUT
*---------------------------------------------------------------------*
* Module display_alv OUTPUT
*---------------------------------------------------------------------*
* This module is used to display ALV
*---------------------------------------------------------------------*
MODULE display_alv OUTPUT.
PERFORM get_spfli_details.
PERFORM container_reference.
PERFORM grid_reference.
PERFORM prepare_field_catalog.
PERFORM prepare_grid_layout.
PERFORM display_alv.
ENDMODULE. " display_alv OUTPUT
*---------------------------------------------------------------------*
* Module USER_COMMAND_1152 INPUT
*---------------------------------------------------------------------*
* This module is used to act upon user interaction in the output
*---------------------------------------------------------------------*
MODULE user_command_1152 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE.
ENDCASE. " CASE SY-UCOMM
ENDMODULE. " USER_COMMAND_1152 INPUT
*---------------------------------------------------------------------*
* Form container_reference
*---------------------------------------------------------------------*
* This subroutine is used to create instance for container class
*---------------------------------------------------------------------*
* No interface parameters
*---------------------------------------------------------------------*
FORM container_reference .
*Creating custom container reference
CREATE OBJECT w_container
EXPORTING
* PARENT =
container_name = w_cont_name
* STYLE =
* LIFETIME = lifetime_default
* REPID =
* DYNNR =
* NO_AUTODEF_PROGID_DYNNR =
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 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " container_reference
*---------------------------------------------------------------------*
* Form grid_reference
*---------------------------------------------------------------------*
* This subroutine is used to create instance for container class
*---------------------------------------------------------------------*
* No interface parameters
*---------------------------------------------------------------------*
FORM grid_reference .
CREATE OBJECT w_grid
EXPORTING
* I_SHELLSTYLE = 0
* I_LIFETIME =
i_parent = w_container
* I_APPL_EVENTS = space
* I_PARENTDBG =
* I_APPLOGPARENT =
* I_GRAPHICSPARENT =
* I_NAME =
* I_FCAT_COMPLETE = SPACE
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 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " grid_reference
*&---------------------------------------------------------------------*
*& Form prepare_field_catalog
*&---------------------------------------------------------------------*
* This subroutine is used to define the field catalog
*----------------------------------------------------------------------*
* No interface parameters
*----------------------------------------------------------------------*
FORM prepare_field_catalog .
CLEAR:
wa_fcat,
t_fcat[].
wa_fcat-fieldname = 'CARRID'.
wa_fcat-ref_table = 'SPFLI'.
wa_fcat-ref_field = 'CARRID'.
wa_fcat-coltext = 'Airline Code'.
wa_fcat-seltext = 'Airline Code'.
APPEND wa_fcat TO t_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'CONNID'.
wa_fcat-ref_table = 'SPFLI'.
wa_fcat-ref_field = 'CONNID'.
wa_fcat-coltext = 'Connection ID'.
wa_fcat-seltext = 'Connection ID'.
APPEND wa_fcat TO t_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'CITYFROM'.
wa_fcat-ref_table = 'SPFLI'.
wa_fcat-ref_field = 'CITYFROM'.
wa_fcat-coltext = 'City from'.
wa_fcat-seltext = 'City from'.
APPEND wa_fcat TO t_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'CITYTO'.
wa_fcat-ref_table = 'SPFLI'.
wa_fcat-ref_field = 'CITYTO'.
wa_fcat-coltext = 'City to'.
wa_fcat-seltext = 'City to'.
APPEND wa_fcat TO t_fcat.
ENDFORM. " prepare_field_catalog
*---------------------------------------------------------------------*
* Form prepare_grid_layout
*---------------------------------------------------------------------*
* This subroutine is used to define the layout for the grid
*---------------------------------------------------------------------*
* No interface parameters
*---------------------------------------------------------------------*
FORM prepare_grid_layout .
w_layout-zebra = 'X'.
w_layout-grid_title = 'SPFLI Details'.
* w_layout-edit_mode = 'X'.
ENDFORM. " prepare_grid_layout
*---------------------------------------------------------------------*
* Form display_alv
*---------------------------------------------------------------------*
* This subroutine is used to display ALV
*---------------------------------------------------------------------*
* No interface parameters
*---------------------------------------------------------------------*
FORM display_alv .
w_grid->set_table_for_first_display(
EXPORTING
* I_BUFFER_ACTIVE = 'X'
* I_BYPASSING_BUFFER = I_BYPASSING_BUFFER
* I_CONSISTENCY_CHECK = I_CONSISTENCY_CHECK
* I_STRUCTURE_NAME = I_STRUCTURE_NAME
* IS_VARIANT = IS_VARIANT
* I_SAVE = I_SAVE
* I_DEFAULT = 'X'
is_layout = w_layout
* IS_PRINT = IS_PRINT
* IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
* IT_TOOLBAR_EXCLUDING = IT_TOOLBAR_EXCLUDING
* IT_HYPERLINK = IT_HYPERLINK
* IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
* IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
* IR_SALV_ADAPTER = IR_SALV_ADAPTER
CHANGING
it_outtab = t_spfli
it_fieldcatalog = t_fcat
* IT_SORT = IT_SORT
* IT_FILTER = IT_FILTER
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
).
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " display_alv
*---------------------------------------------------------------------*
* Form get_spfli_details
*---------------------------------------------------------------------*
* This subroutine is used to get the spfli details
*---------------------------------------------------------------------*
* No interface parameters
*---------------------------------------------------------------------*
FORM get_spfli_details .
SELECT carrid
connid
cityfrom
cityto
FROM spfli
INTO TABLE t_spfli
WHERE carrid IN s_carrid
AND connid IN s_connid.
SORT t_spfli BY carrid connid.
ENDFORM. " get_spfli_details
Before executing that create a screen in SE51 for this program
and put the Custom control on the screen Layout and name it as
CC_ALV... and activate the screen and define the
MODULE display_alv in PBO of the flow logic...
and also uncomment the Status module in PBO and user command module in PAI.
Hope this would solve your issue....
Good luck....
Narin
2008 Aug 04 6:06 AM
Hii!
Check this code. Before executinf this program define screen.
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 = ''.
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 Aug 04 6:06 AM
check the link:
http://saplab.blogspot.com/2007/10/sample-abap-program-of-alv-grid-control.html
With luck,
pritam.
2008 Aug 04 6:49 AM
2008 Aug 04 6:56 AM
Hi,
Go through this link,
http://forums.madeitsimple.com/viewtopic.php?f=16&t=23.
It will demonstrate with an example how to handle different events using CL_GUI_ALV_GRID class.
Regards,
Swarna Munukoti.
2008 Aug 04 9:41 AM
Hi..
Check this out ..
[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]
You need to login to see the code, because this section is only for registered users..
Cheers.
Varun
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |