Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

about alv

Former Member
0 Likes
705

hi experts,

i have to generate two alv list on a single page, using two container, please provide code for it if any.

tahnks,

Anshu.

hi experts,

i have to generate two alv list on a single page, using two container, please provide code for it if any.

tahnks,

Anshu.

4 REPLIES 4
Read only

Former Member
0 Likes
664

Hi Anshu,

I would suggest you to look at the examples provided by sap to learn and implement required scenario.

Go to SE38 -> Press F4

Select Information system and

In Name type BALV AND PRESS ENTER

or in text type

alv or ALV

Good examples are there to learn. Check out some example which deals with controls.

Hope this helps. Can send you a document on alv control if you need.

regards,

Vikas

<b>Always reward points to helpful answers.</b>

Read only

Former Member
0 Likes
664

hi

good

go to se38

put BCALV*

press F4

you ll find lots of example in alv,test them as per your requirement and use it accordingly.

thanks

mrutyun^

Read only

Former Member
0 Likes
664

Hi Anshu,

Go through this hope u can.

&----


*&amp; Report Z_OO_ALV

*&

&----


*& We can Use Two containers in OOALV

*&

&----


REPORT z_oo_alv LINE-COUNT 50.

*types gt_struct type sflight.

DATA BEGIN OF gt_struct.

INCLUDE STRUCTURE sflight.

DATA rcol(4) TYPE c.

DATA colors TYPE lvc_t_scol.

DATA END OF gt_struct.

*ALV GRIDs

DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid.

DATA gr_alvgrid1 TYPE REF TO cl_gui_alv_grid.

DATA gc_custom_control_name TYPE scrfname VALUE 'CC_ALV'.

DATA gc_custom_control_name1 TYPE scrfname VALUE 'CC_ALV1'.

*CONTAINERs

DATA gr_ccontainer TYPE REF TO cl_gui_custom_container.

DATA gr_ccontainer1 TYPE REF TO cl_gui_custom_container.

*FIELDCATALOGs

DATA gt_fieldcat TYPE lvc_t_fcat WITH HEADER LINE.

DATA gt_fieldcat1 TYPE lvc_t_fcat WITH HEADER LINE.

*LAYOUTs

DATA gs_layout TYPE lvc_s_layo.

DATA gs_layout1 TYPE lvc_s_layo.

DATA pt_exclude TYPE ui_functions. "internal table declaration to be passed.

*DATA pt_cell TYPE lvc_t_cell with header line.

DATA : gt_list LIKE gt_struct OCCURS 50 WITH HEADER LINE,

gt_list1 LIKE gt_struct OCCURS 50 WITH HEADER LINE.

*DATA v_ucomm TYPE sy-ucomm.

CALL SCREEN 100.

&----


*& Module display_alv OUTPUT

&----


  • text

----


MODULE display_alv OUTPUT.

PERFORM display_alv.

ENDMODULE. " display_alv OUTPUT

&----


*& Module PAI INPUT

&----


  • text

----


MODULE pai INPUT.

CASE sy-ucomm.

WHEN 'EXIT'.

PERFORM exit_program.

WHEN 'PICK'.

PERFORM cell_info.

ENDCASE.

ENDMODULE. " PAI INPUT

&----


*& Form display_alv

&----


  • text

----


FORM display_alv.

PERFORM prepare_field_catalog CHANGING gt_fieldcat[].

PERFORM prepare_layout CHANGING gs_layout.

PERFORM data_retrival.

IF gr_alvgrid IS INITIAL.

CREATE OBJECT gr_ccontainer

EXPORTING

container_name = gc_custom_control_name

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.

ENDIF.

CREATE OBJECT gr_alvgrid

EXPORTING

  • I_SHELLSTYLE = 0

  • I_LIFETIME =

i_parent = gr_ccontainer

  • 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 SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

PERFORM exclude_tb_functions CHANGING pt_exclude.

PERFORM set_col.

CALL METHOD gr_alvgrid->set_table_for_first_display

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

  • I_STRUCTURE_NAME =

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

is_layout = gs_layout

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

it_toolbar_excluding = pt_exclude "excluding toolbar functions

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

it_outtab = gt_list[]

it_fieldcatalog = gt_fieldcat[]

  • IT_SORT =

  • IT_FILTER =

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.

CALL METHOD gr_alvgrid->refresh_table_display

  • EXPORTING

  • IS_STABLE =

  • I_SOFT_REFRESH =

EXCEPTIONS

finished = 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.

PERFORM prepare_field_catalog1 CHANGING gt_fieldcat1[].

PERFORM prepare_layout1 CHANGING gs_layout1.

PERFORM data_retrival1.

IF gr_alvgrid1 IS INITIAL.

CREATE OBJECT gr_ccontainer1

EXPORTING

container_name = gc_custom_control_name1

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.

ENDIF.

CREATE OBJECT gr_alvgrid1

EXPORTING

  • I_SHELLSTYLE = 0

  • I_LIFETIME =

i_parent = gr_ccontainer1

  • 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 SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

PERFORM set_col1.

CALL METHOD gr_alvgrid1->set_table_for_first_display

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

  • I_STRUCTURE_NAME =

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

is_layout = gs_layout1

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

it_outtab = gt_list1[]

it_fieldcatalog = gt_fieldcat1[]

  • IT_SORT =

  • IT_FILTER =

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.

CALL METHOD gr_alvgrid1->refresh_table_display

  • EXPORTING

  • IS_STABLE =

  • I_SOFT_REFRESH =

EXCEPTIONS

finished = 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.

ENDFORM. "display_alv

&----


*& Form prepare_field_catalog

&----


  • text

----


  • -->GT_FIELDCAT text

----


FORM prepare_field_catalog CHANGING pgt_fieldcat TYPE lvc_t_fcat.

DATA ls_fieldcat TYPE lvc_s_fcat.

ls_fieldcat-tabname = 'gt_list'.

ls_fieldcat-fieldname = 'CARRID'.

ls_fieldcat-scrtext_m = 'Air line code'.

ls_fieldcat-col_pos = 0.

ls_fieldcat-outputlen = 10.

  • ls_fieldcat-emphasize = 'C400'.

  • ls_fieldcat-key = 'X'.

APPEND ls_fieldcat TO pgt_fieldcat.

ls_fieldcat-tabname = 'gt_list'.

ls_fieldcat-col_pos = 1.

ls_fieldcat-fieldname = 'CONNID'.

ls_fieldcat-scrtext_m = 'Connection code'.

  • ls_fieldcat-emphasize = 'C900'.

APPEND ls_fieldcat TO pgt_fieldcat.

ls_fieldcat-tabname = 'gt_list'.

ls_fieldcat-fieldname = 'PRICE'.

ls_fieldcat-scrtext_m = 'PRICE'.

APPEND ls_fieldcat TO pgt_fieldcat.

ENDFORM. "prepare_field_catalog

&----


*& Form prepare_layout

&----


  • text

----


  • -->GS_LAYOUT text

----


FORM prepare_layout CHANGING gs_layout TYPE lvc_s_layo.

gs_layout-stylefname = 'FIELD_STYLE'.

gs_layout-zebra = 'X'.

gs_layout-grid_title = 'FLIGHT'.

gs_layout-sel_mode = 'A'.

gs_layout-ctab_fname = 'COLORS'.

ENDFORM. "prepare_layout

&----


*& Form data_retrival

&----


  • text

----


FORM data_retrival.

SELECT carrid

connid

price

FROM sflight

INTO CORRESPONDING FIELDS OF TABLE gt_list

UP TO 50 ROWS.

ENDFORM. "data_retrival

----


  • FORM EXIT_PROGRAM *

----


FORM exit_program.

CALL METHOD gr_ccontainer->free.

CALL METHOD gr_ccontainer1->free.

LEAVE TO SCREEN 0.

ENDFORM. "exit_program

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'STAT'.

  • SET TITLEBAR 'xxx'.

  • IF W_CUSTOM_CONTAINER IS INITIAL.

*

**sets TITLEBAR

  • PERFORM TITLEBAR.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Form prepare_field_catalog1

&----


  • text

----


  • -->GT_FIELDCAT text

----


FORM prepare_field_catalog1 CHANGING pgt_fieldcat1 TYPE lvc_t_fcat.

DATA ls_fieldcat TYPE lvc_s_fcat.

ls_fieldcat-tabname = 'gt_list1'.

ls_fieldcat-fieldname = 'SEATSMAX'.

ls_fieldcat-scrtext_m = 'MAX. SEATS'.

ls_fieldcat-col_pos = 0.

ls_fieldcat-outputlen = 10.

  • ls_fieldcat-emphasize = 'C400'.

  • ls_fieldcat-key = ' '.

APPEND ls_fieldcat TO pgt_fieldcat1.

ls_fieldcat-tabname = 'gt_list1'.

ls_fieldcat-col_pos = 1.

ls_fieldcat-fieldname = 'SEATSOCC'.

ls_fieldcat-scrtext_m = 'SEATS OCCUPIED'.

APPEND ls_fieldcat TO pgt_fieldcat1.

ENDFORM. "prepare_field_catalog

&----


*& Form prepare_layout1

&----


  • text

----


  • -->GS_LAYOUT text

----


FORM prepare_layout1 CHANGING gs_layout1 TYPE lvc_s_layo.

gs_layout1-stylefname = 'FIELD_STYLE'.

gs_layout1-zebra = 'X'.

gs_layout1-grid_title = 'DETAILS'.

  • gs_layout-sel_mode = 'C'.

gs_layout1-info_fname = 'RCOL'.

  • gs_layout-no_toolbar = 'X'.

ENDFORM. "prepare_layout

&----


*& Form data_retrival1

&----


  • text

----


FORM data_retrival1.

SELECT seatsmax

seatsocc

FROM sflight

INTO CORRESPONDING FIELDS OF TABLE gt_list1

UP TO 50 ROWS.

ENDFORM. "data_retrival

&----


*& Form exclude_tb_functions

&---- subroutine to exclude toolbar options -


  • text

----


  • -->PT_EXCLUDE text

----


FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.

DATA ls_exclude TYPE ui_func.

ls_exclude = cl_gui_alv_grid=>mc_fc_maximum.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_minimum.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_subtot.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_sort.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_sum.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_mb_subtot.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_mb_sum.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_mb_filter.

APPEND ls_exclude TO pt_exclude.

ENDFORM. "data_retrival1

&----


*& Form cell_info

&----


  • text

----


FORM cell_info. "CHANGING pt_cell TYPE lvc_t_cell.

DATA lt_cell TYPE lvc_t_cell WITH HEADER LINE.

CALL METHOD gr_alvgrid->get_selected_cells

IMPORTING

et_cell = lt_cell[].

LOOP AT lt_cell.

WRITE : lt_cell-col_id , lt_cell-row_id.

ENDLOOP.

  • MODIFY pt_cell[] from lt_cell[].

ENDFORM. "cell_info

&----


*& Form set_col

&----


  • text

----


FORM set_col .

DATA ls_cellcolor TYPE lvc_s_scol.

LOOP AT gt_list.

IF gt_list-price GT 500.

ls_cellcolor-fname = 'PRICE'.

ls_cellcolor-color-col = 5.

ls_cellcolor-color-int = 1.

ls_cellcolor-color-inv = 0.

APPEND ls_cellcolor TO gt_list-colors.

else.

ls_cellcolor-fname = 'PRICE'.

ls_cellcolor-color-col = 3.

ls_cellcolor-color-int = 1.

APPEND ls_cellcolor TO gt_list-colors.

ENDIF.

MODIFY gt_list.

ENDLOOP.

ENDFORM. "set_col

&----


*& Form set_col1

&----


  • text

----


FORM set_col1.

data : ind type sy-tabix,

indx type sy-tabix.

loop at gt_list1.

ind = sy-tabix / 2.

indx = sy-tabix - ind.

if indx eq ind.

gt_list1-rcol = 'C500'.

endif.

MODIFY gt_list1.

endloop.

ENDFORM. "set_col

*FORM TITLEBAR.

*SET TITLEBAR 'TITLE'.

*ENDFORM.

*double click on TITLE and write ur title

Reward points if helpful.

Thanks

Naveen khan

Read only

0 Likes
664

hi Naveen,

Ur report is syntically correct but doesn't give the output, will u please check it.

Thanks,

Anshuman.