Application Development 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: 

ALV interactive report

Former Member
0 Kudos

Hi,

I developed interactive report, when i am going from second screen to first screen .

I want to do validation. but under case sy-ucomm

written statment eventhough its not triggering.

Thanks,'

Asha

1 ACCEPTED SOLUTION

former_member188685
Active Contributor
0 Kudos

Can you show what you are doing..? and what is exactly you want to validate..?

14 REPLIES 14

naimesh_patel
Active Contributor
0 Kudos

You need to implement the DATA_CHANGED event for the Second ALV.

Regards,

Naimesh Patel

former_member188685
Active Contributor
0 Kudos

Can you show what you are doing..? and what is exactly you want to validate..?

0 Kudos

Under ALV report ,

I am going to second screen and coming to first screen by pressing back button.

when i putbreakpoint for back button, its notstopping..\

Here my question, how should i trigger back button in alv send report.

Thanks,

Asha

0 Kudos

is it a normal ALV or OO ALV.

0 Kudos

normal ALV

0 Kudos

post your code here..

0 Kudos

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = v_repid

  • I_CALLBACK_PF_STATUS_SET = 'PFF_STATUS'

i_callback_user_command = 'F_USER_COMMAND'

i_callback_top_of_page = 'TOP_OF_PAGE'

i_grid_title = i_title_ekpo

it_fieldcat = i_fieldcat1[]

TABLES

t_outtab = GT_RADIO

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.

FORM user_command USING ucomm TYPE sy-ucomm

rs_selfield2 TYPE slis_selfield.

CASE ucomm.

WHEN '&F03'.

Perform logic.

WHEN '&IC1'.

READ TABLE GT_RADIO INTO wt_radio INDEX rs_selfield2-tabindex.

CASE rs_selfield2-fieldname.

WHEN 'RADIO1'.

IF wt_radio-radio1 = icon_radiobutton.

wt_radio-radio2 = icon_wd_radio_button_empty.

wt_radio-radio3 = icon_wd_radio_button_empty.

MODIFY GT_RADIO FROM wt_radio INDEX rs_selfield2-tabindex

TRANSPORTING radio1 radio2 radio3.

ELSE.

wt_radio-radio1 = icon_radiobutton.

wt_radio-radio2 = icon_wd_radio_button_empty.

wt_radio-radio3 = icon_wd_radio_button_empty.

MODIFY GT_RADIO FROM wt_radio INDEX rs_selfield2-tabindex

TRANSPORTING radio1 radio2 radio3.

ENDIF.

WHEN 'RADIO2'.

IF wt_radio-radio2 = icon_radiobutton.

wt_radio-radio1 = icon_wd_radio_button_empty.

wt_radio-radio3 = icon_wd_radio_button_empty.

MODIFY GT_RADIO FROM wt_radio INDEX rs_selfield2-tabindex

TRANSPORTING radio1 radio2 radio3.

ELSE.

wt_radio-radio2 = icon_radiobutton.

wt_radio-radio1 = icon_wd_radio_button_empty.

wt_radio-radio3 = icon_wd_radio_button_empty.

MODIFY GT_RADIO FROM wt_radio INDEX rs_selfield2-tabindex

TRANSPORTING radio1 radio2 radio3.

ENDIF.

WHEN 'RADIO3'.

IF wt_radio-radio3 = icon_radiobutton.

wt_radio-radio1 = icon_wd_radio_button_empty.

wt_radio-radio2 = icon_wd_radio_button_empty.

MODIFY GT_RADIO FROM wt_radio INDEX rs_selfield2-tabindex

TRANSPORTING radio1 radio2 radio3.

ELSE.

wt_radio-radio3 = icon_radiobutton.

wt_radio-radio1 = icon_wd_radio_button_empty.

wt_radio-radio2 = icon_wd_radio_button_empty.

MODIFY GT_RADIO FROM wt_radio INDEX rs_selfield2-tabindex

TRANSPORTING radio1 radio2 radio3.

ENDIF.

PERFORM display_alv_ekpof.

ENDCASE.

ENDCASE.

rs_selfield2-refresh = 'X'.

0 Kudos

PERFORM display_alv_ekpof. " what is there in this..?

0 Kudos

I supposed to comment that statement.

0 Kudos

Since you are trying to stop your program at the Standard ALV button. You need to implement the EVENTS_EXIT .


  ls_event_exit-ucomm = '&F03'.
  ls_event_exit-after = 'X'.   "<< it will stop after the code execution
  APPEND ls_event_exit TO it_event_exit.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
...
      it_event_exit           = it_event_exit     "<< 
    TABLES
      t_outtab                = it_bkpf.
.

It will stop now in your USER COMMAND.

Regards,

Naimesh Patel

0 Kudos

when I press back arrow button , break point is not triggering.

Thanks,

Asha

0 Kudos

Do not give the fcode value for the BACK button as "BACK" or "&F03". Give it some other value like "BACK1", then it will stop.

0 Kudos

It seems that you are setting up the USER COMMAND using the Events. For the EVENTS EXIT, you have to pass the USER COMMAND in the I_CALLBACK_USER_COMMAND .


  ls_event_exit-ucomm = '&F03'.
  ls_event_exit-after = 'X'.   "<< it will stop after the code execution
  APPEND ls_event_exit TO it_event_exit.
 
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND'   "<< Subroutine of your user command

...
      it_event_exit           = it_event_exit     "<< 
    TABLES
      t_outtab                = it_bkpf.
.

Regards,

Naimesh Patel

0 Kudos

Thank you!!

I got the same problem and your response on this treat was very helpfull for me