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

alv grids

Former Member
0 Likes
698

hi can anyone help me with the grids.. where do i have to pass the data to be displayed in the grid..

here is the code

REPORT Ztst_chin_alv3.

----


----


tables : lfb1.

----


  • Declarations *

----


selection-screen begin of block a with frame title text-001.

parameters : bukrs like lfb1-bukrs.

parameters : lifnr like lfb1-lifnr.

selection-screen end of block a.

DATA: r_container TYPE REF TO cl_gui_custom_container.

DATA: r_grid TYPE REF TO cl_gui_alv_grid.

DATA: g_fieldcat TYPE lvc_t_fcat.

DATA: w_fieldcat LIKE LINE OF g_fieldcat.

DATA: g_layout TYPE lvc_s_layo.

DATA: ok_code LIKE sy-ucomm.

DATA: gs_variant TYPE disvariant.

DATA: t_selected TYPE lvc_t_row.

DATA wa_selected LIKE LINE OF t_selected.

DATA: it_items LIKE EBAN OCCURS 0.

data : it_lfb1 like lfb1 occurs 0 with header line.

----


  • Initialization *

----


INITIALIZATION.

AT SELECTION-SCREEN.

ok_code = sy-ucomm.

CASE ok_code.

WHEN 'BACK'.

LEAVE PROGRAM.

WHEN 'CANCEL'.

LEAVE PROGRAM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'ONLI' OR 'CRET'.

call screen 100.

WHEN OTHERS.

ENDCASE.

----


  • GetData *

----


MODULE getdata OUTPUT.

IF sy-ucomm <> 'STOP'.

select lifnr bukrs akont fdgrv zwels

into corresponding fields of table it_lfb1

from lfb1

where

bukrs eq bukrs

and lifnr eq lifnr.

ENDIF.

ENDMODULE.

----


  • Create ALV *

----


MODULE create_alv OUTPUT.

gs_variant-report = sy-repid.

IF r_container IS INITIAL.

CREATE OBJECT r_container

EXPORTING container_name = 'CONTAINER_1'.

CREATE OBJECT r_grid

EXPORTING i_parent = r_container.

*modify the headings in the field catalogue

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'ZCATSDBALVM'

CHANGING

ct_fieldcat = g_fieldcat[].

LOOP AT g_fieldcat INTO w_fieldcat.

CASE w_fieldcat-fieldname.

WHEN 'ZCURSTAT'.

w_fieldcat-scrtext_l = 'Prev.RelCode'.

w_fieldcat-scrtext_m = 'Prev.RelCode'.

w_fieldcat-scrtext_s = 'Prev.RelCode'.

w_fieldcat-reptext = 'Prev.RelCode'.

ENDCASE.

MODIFY g_fieldcat FROM w_fieldcat.

1 ACCEPTED SOLUTION
Read only

gopi_narendra
Active Contributor
0 Likes
669

look at the sample programs

BCALV_GRID_01

BCALV_GRID_02

BCALV_GRID_03

BCALV_GRID_04

BCALV_GRID_05

BCALV_GRID_06

BCALV_GRID_07

BCALV_GRID_08

BCALV_GRID_09

BCALV_GRID_10

BCALV_GRID_11

Regards

Gopi

look at the sample programs

BCALV_GRID_01

BCALV_GRID_02

BCALV_GRID_03

BCALV_GRID_04

BCALV_GRID_05

BCALV_GRID_06

BCALV_GRID_07

BCALV_GRID_08

BCALV_GRID_09

BCALV_GRID_10

BCALV_GRID_11

Regards

Gopi

4 REPLIES 4
Read only

Former Member
0 Likes
669

Layout is not given.

wa_layout-cwidth_opt = c_x.

Method set_table_for_first_display is not yet called.

*-- Display Report

CALL METHOD o_alvgrid->set_table_for_first_display

EXPORTING

i_save = 'A'

is_layout = p_layout

CHANGING

it_outtab = p_output[]

it_fieldcatalog = p_fieldcat[]

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE s001(zesspa) WITH text-029. " Error in Displaying

LEAVE LIST-PROCESSING.

Endif.

Check the Sample program:

BCALV_EDIT_01

BCALV_EDIT_02

BCALV_EDIT_03

BCALV_EDIT_04

BCALV_EDIT_05

BCALV_EDIT_06

BCALV_EDIT_07

BCALV_EDIT_08

Regards,

Prakash.

Read only

gopi_narendra
Active Contributor
0 Likes
670

look at the sample programs

BCALV_GRID_01

BCALV_GRID_02

BCALV_GRID_03

BCALV_GRID_04

BCALV_GRID_05

BCALV_GRID_06

BCALV_GRID_07

BCALV_GRID_08

BCALV_GRID_09

BCALV_GRID_10

BCALV_GRID_11

Regards

Gopi

Read only

0 Likes
669

I have used that too...

REPORT Ztst_chin_alv3.

----


*

----


tables : lfb1.

----


  • Declarations *

----


selection-screen begin of block a with frame title text-001.

parameters : bukrs like lfb1-bukrs.

parameters : lifnr like lfb1-lifnr.

selection-screen end of block a.

DATA: r_container TYPE REF TO cl_gui_custom_container.

DATA: r_grid TYPE REF TO cl_gui_alv_grid.

DATA: g_fieldcat TYPE lvc_t_fcat.

DATA: w_fieldcat LIKE LINE OF g_fieldcat.

DATA: g_layout TYPE lvc_s_layo.

DATA: ok_code LIKE sy-ucomm.

DATA: gs_variant TYPE disvariant.

DATA: t_selected TYPE lvc_t_row.

DATA wa_selected LIKE LINE OF t_selected.

DATA: it_items LIKE EBAN OCCURS 0.

data : it_lfb1 like lfb1 occurs 0 with header line.

----


  • Initialization *

----


INITIALIZATION.

AT SELECTION-SCREEN.

ok_code = sy-ucomm.

CASE ok_code.

WHEN 'BACK'.

LEAVE PROGRAM.

WHEN 'CANCEL'.

LEAVE PROGRAM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'ONLI' OR 'CRET'.

call screen 100.

WHEN OTHERS.

ENDCASE.

----


  • GetData *

----


MODULE getdata OUTPUT.

IF sy-ucomm <> 'STOP'.

select lifnr bukrs akont fdgrv zwels

into corresponding fields of table it_lfb1

from lfb1

where

bukrs eq bukrs

and lifnr eq lifnr.

ENDIF.

ENDMODULE.

----


  • Create ALV *

----


MODULE create_alv OUTPUT.

gs_variant-report = sy-repid.

IF r_container IS INITIAL.

CREATE OBJECT r_container

EXPORTING container_name = 'CONTAINER_1'.

CREATE OBJECT r_grid

EXPORTING i_parent = r_container.

*modify the headings in the field catalogue

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

i_structure_name = 'ZCATSDBALVM'

CHANGING

ct_fieldcat = g_fieldcat[].

LOOP AT g_fieldcat INTO w_fieldcat.

CASE w_fieldcat-fieldname.

WHEN 'ZCURSTAT'.

w_fieldcat-scrtext_l = 'Prev.RelCode'.

w_fieldcat-scrtext_m = 'Prev.RelCode'.

w_fieldcat-scrtext_s = 'Prev.RelCode'.

w_fieldcat-reptext = 'Prev.RelCode'.

ENDCASE.

MODIFY g_fieldcat FROM w_fieldcat.

ENDLOOP.

CALL METHOD r_grid->set_table_for_first_display

EXPORTING i_structure_name = 'ZCATSDBALVM'

is_layout = g_layout

is_variant = gs_variant

i_save = 'A'

CHANGING it_outtab = it_lfb1[]

it_fieldcatalog = g_fieldcat[].

*ELSE.

*

  • CALL METHOD r_grid->refresh_table_display

  • EXPORTING i_soft_refresh = ' '.

*

ENDIF.

ENDMODULE.

----


  • STATUS *

----


MODULE status OUTPUT.

SET PF-STATUS '0100'.

ENDMODULE.

----


  • User Commands *

----


MODULE user_command INPUT.

ok_code = sy-ucomm.

CASE ok_code.

WHEN 'BACK'.

CALL SCREEN '1000'.

WHEN 'CANCEL'.

LEAVE PROGRAM.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE.

----


  • ALV Layout *

----


MODULE layout OUTPUT.

g_layout-zebra = 'X'.

g_layout-sel_mode = 'A'.

g_layout-grid_title = ''.

g_layout-detailtitl = ''.

ENDMODULE.

----


  • Select Rows *

----


FORM get_selected_rows.

CALL METHOD r_grid->get_selected_rows

IMPORTING et_index_rows = t_selected.

IF t_selected IS INITIAL.

CALL FUNCTION 'WS_MSG'

EXPORTING

MSG_TYPE = 'E'

TEXT = 'Select Line'

TITL = 'Select Line'.

sy-ucomm = 'STOP'.

ENDIF.

ENDFORM.

Read only

0 Likes
669

Have you checked in debugging mode, data is there in it_lfb1.

Also u r selecting only five fields from lfa1, so declare a internal table like this:

data: begin of it_lfb1 occurs 0,

lifnr like lfa1-lifnr,

bukrs like lfa1-bukrs,

akont like lfa1-akont,

fdgrv like lfa1-fdgrv,

zwels like lfa1-zwels,

end of it_lfb1.

Populate the field catalog manual instead of using the 'LVC_FIELDCATALOG_MERGE'. And try it.

Prakash.