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_GRID_DISPLAY

Former Member
0 Likes
980

hi all,

I am trying to use <b>alv_grid_display</b> and in this grid display iam using a checkbox.when we tick on a check box iam pressing a print button and after that i want my smartform to be called..but using a <b>alv_grid_dispaly</b>..iam not able to check the value of the checkbox..like i am not able to cath the ticked order nos.can u please tell me how can i populate this value using an <b>alv_grid_display</b>

hi all,

I am trying to use <b>alv_grid_display</b> and in this grid display iam using a checkbox.when we tick on a check box iam pressing a print button and after that i want my smartform to be called..but using a <b>alv_grid_dispaly</b>..iam not able to check the value of the checkbox..like i am not able to cath the ticked order nos.can u please tell me how can i populate this value using an <b>alv_grid_display</b>

4 REPLIES 4
Read only

Former Member
0 Likes
702

hi all,

I am trying to use alv_grid_display and in this grid display iam using a checkbox.when we tick on a check box iam pressing a print button and after that i want my smartform to be called..but using a alv_grid_dispaly..iam not able to check the value of the checkbox..like i am not able to cath the ticked order nos.can u please tell me how can i populate this value using an alv_grid_display

below is my code.

&----


*& Report ZTEST_DRIVERPROG_FIANL

*&

&----


*&

*&

&----


REPORT ztest_driverprog_fianl.

Tables : vbak,vbap.

TYPE-POOLS : slis.

DATA : LS_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA :

ls_fieldcat type slis_t_fieldcat_alv,

wa_fieldcat TYPE slis_fieldcat_alv,

ls_fieldcat1 type slis_t_fieldcat_alv,

wa_fieldcat1 TYPE slis_fieldcat_alv.

DATA : import_variant LIKE disvariant.

DATA : events TYPE slis_t_event WITH HEADER LINE.

**********VBAK**********

TYPES :BEGIN OF ty_vbak.

TYPES : flag TYPE c.

INCLUDE STRUCTURE vbak.

TYPES : END OF ty_vbak.

DATA : i_vbak TYPE STANDARD TABLE OF ty_vbak.

DATA : wa_vbak TYPE ty_vbak.

******************************

******VBAP******************

TYPES : BEGIN OF ty_vbap.

INCLUDE STRUCTURE vbap.

TYPES : END OF ty_vbap.

DATA : i_vbap TYPE STANDARD TABLE OF ty_vbap.

*****************************

SELECTION-SCREEN BEGIN OF BLOCK test WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.

SELECTION-SCREEN END OF BLOCK test.

START-OF-SELECTION.

PERFORM data_popu.

PERFORM display_data.

End-of-selection.

&----


*& Form data_popu

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM data_popu .

SELECT * FROM vbak

INTO CORRESPONDING FIELDS OF TABLE i_vbak

WHERE vbeln IN s_vbeln.

ENDFORM. " data_popu

&----


*& Form display_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form display_data .

wa_fieldcat-col_pos = '01'.

wa_FIELDCAT-FIELDNAME = 'FLAG'.

wa_FIELDCAT-TABNAME = 'I_VBAK'.

  • wA_fieldcat-hotspot = 'X' .

wA_fieldcat-emphasize = 'C100'.

wa_FIELDCAT-INPUT = 'X'.

wa_FIELDCAT-EDIT = 'X'.

wa_FIELDCAT-CHECKBOX = 'X'.

wa_fieldcat-seltext_m = 'SELECT'.

append wa_FIELDCAT to ls_FIELDCAT.

CLEAR wa_FIELDCAT.

wa_fieldcat-col_pos = '02'.

wa_fieldcat-fieldname = 'VBELN'.

wa_fieldcat-seltext_m = 'ORDER'.

wa_fieldcat-hotspot = 'X' .

  • wa_fieldcat-emphasize = 'C100' .

APPEND wa_fieldcat TO ls_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = '03'.

wa_fieldcat-fieldname = 'ERDAT'.

wa_fieldcat-tabname = 'I_VBAK'.

wa_fieldcat-seltext_l = 'Record Created'.

APPEND wa_fieldcat TO ls_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = '04'.

wa_fieldcat-fieldname = 'AUART'.

wa_fieldcat-tabname = 'I_VBAK'.

wa_fieldcat-seltext_l = 'ORDER TYPE'.

APPEND wa_fieldcat TO ls_fieldcat.

CLEAR wa_fieldcat.

DATA : w_command TYPE slis_formname,

w_pfsta TYPE slis_formname.

  • w_command = 'USER_COMMAND'.

w_pfsta = 'SET_PF_STAT'.

DATA v_repid TYPE repid.

v_repid = sy-repid.

  • LS_LAYOUT-BOX_FIELDNAME = 'FLAG'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = v_repid

I_CALLBACK_PF_STATUS_SET = w_pfsta

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = LS_LAYOUT

IT_FIELDCAT = LS_FIELDCAT

TABLES

t_outtab = I_VBAK

EXCEPTIONS

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

endform. " display_data

***************PF STATUS************************

FORM set_pf_stat USING rt_extab TYPE slis_t_extab.

SET PF-STATUS 'ZSTANDARD'.

ENDFORM. "SET_PF_STAT

****************************************************

***********INTERACTIVE DISPLAY********************

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

CASE r_ucomm.

WHEN '&IC1'.

READ TABLE i_vbak INTO wa_vbak WITH KEY vbeln = rs_selfield-value.

SELECT * FROM vbap

INTO TABLE i_vbap

WHERE vbeln = wa_vbak-vbeln.

IF NOT i_vbap[] IS INITIAL.

wa_fieldcat1-col_pos = '01'.

wa_fieldcat1-fieldname = 'VBELN'.

wa_fieldcat1-tabname = 'I_VBAP'.

wa_fieldcat1-seltext_l = 'ORDER'.

APPEND wa_fieldcat1 TO ls_fieldcat1.

CLEAR wa_fieldcat1.

wa_fieldcat1-col_pos = '02'.

wa_fieldcat1-fieldname = 'POSNR'.

wa_fieldcat1-tabname = 'I_VBAP'.

wa_fieldcat1-seltext_l = 'ITEM NO.'.

APPEND wa_fieldcat1 TO ls_fieldcat1.

CLEAR wa_fieldcat1.

wa_fieldcat1-col_pos = '03'.

wa_fieldcat1-fieldname = 'MATNR'.

wa_fieldcat1-tabname = 'I_VBAP'.

wa_fieldcat1-seltext_l = 'MAT NO.'.

APPEND wa_fieldcat1 TO ls_fieldcat1.

CLEAR wa_fieldcat1.

wa_fieldcat1-col_pos = '04'.

wa_fieldcat1-fieldname = 'ARKTX'.

wa_fieldcat1-tabname = 'I_VBAP'.

wa_fieldcat1-seltext_l = 'Short text for sales order item'.

APPEND wa_fieldcat1 TO ls_fieldcat1.

CLEAR wa_fieldcat1.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_bypassing_buffer = 'X'

i_buffer_active = ' '

i_callback_program = sy-cprog

  • i_callback_user_command = w_command

it_fieldcat = ls_fieldcat1[]

i_save = 'A'

is_variant = import_variant

it_events = events[]

TABLES

t_outtab = i_vbap

EXCEPTIONS

program_error = 1

OTHERS = 2.

ENDIF.

********FORM PRINTING************

WHEN 'PRINT'.

  • PERFORM print_invoice.

data: vbeln1 like vbak-vbeln.

loop at i_vbak into wa_vbak where flag = 'X'.

message wa_vbak-vbeln type 'I'.

endloop.

ENDCASE.

ENDFORM. "user_command

Read only

gopi_narendra
Active Contributor
0 Likes
702

if u r using the conventional method it will nto work out, in case u use clasees only it works,

if u wnt to use it in Conventional method try using ALV_LIST_DISPLAY because grid display can not be edited unless used by classes and methods

Read only

Former Member
0 Likes
702

After calling the method o_alvgrid->set_table_for_first_display

  • Register events

CALL METHOD o_alvgrid->register_edit_event

EXPORTING

i_event_id = cl_gui_alv_grid=>mc_evt_enter.

CALL METHOD o_alvgrid->register_edit_event

EXPORTING

i_event_id = cl_gui_alv_grid=>mc_evt_modified.

SET HANDLER o_event_receiver->handle_data_changed FOR o_alvgrid.

Read only

0 Likes
702

hi prakash, seema is using the conventional method not the classes OOPS