on 08-16-2005 5:10 PM
Hi,
In the custom program there is a call to the function CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'.
This is part of the main program SAPLSLVC_FULLSCREEN.
Within this program there are Process Before Output ( PBO) and Process After Input modules ( PAI)
When the user double clikcs on the line it takes them to the detail report.
When the back button is pressed in 9001 the flow goes to PAI and then PBO and the double click does not work any more after the user gets back to the initial
screen 9000 for example.
Inputs will be appreciated.
regards
Aveek
Hi Aveek,
I agree to Ruthera Rajendran's solution.
If you want to do double_click on ALV , you have to active User_command event in your custom development as like Ruthera's one.the other way
Use FM 'REUSE_ALV_EVENTS_GET', here you will get all possibile events. henceforth attach your form_name to event for e.g. USER_COMMAND -> fo1_alv_user_command be form name.
hope it should helpful to you.
/karthikeyan. r
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Here is the piece of code that causes the issue:
Constants:
c_1(1) TYPE c VALUE '1', "Material View
c_2(1) TYPE c VALUE '2', "Order View
c_3(1) TYPE c VALUE '3', "Batch View
c_4(1) TYPE c VALUE '4', "User View
c_5(1) TYPE c VALUE '5', "Detail View
FORM show_report.
CASE v_sel.
WHEN c_1.
ASSIGN i_mat[] TO <f_outtab>.
v_struct = 'TY_MAT' .
v_title = 'Material View'(026).
REFRESH i_extab.
wa_extab-fcode = c_mat.
APPEND wa_extab TO i_extab.
PERFORM call_alv_grid TABLES i_fcat_mat.
WHEN c_2.
ASSIGN i_order[] TO <f_outtab>.
v_struct = 'TY_ORDER' .
v_title = 'Order View'(027).
REFRESH i_extab.
wa_extab-fcode = c_ord.
APPEND wa_extab TO i_extab.
PERFORM call_alv_grid TABLES i_fcat_order.
ENDCASE.
ENDFORM. " SHOW_REPORT
FORM call_alv_grid TABLES p_i_fcat TYPE slis_t_fieldcat_alv.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_structure_name = v_struct
i_grid_title = v_title
is_layout = wa_layout
it_fieldcat = p_i_fcat[]
it_excluding = i_extab[]
i_save = c_a
TABLES
t_outtab = <f_outtab>
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. " call_alv_grid
regards
Aveek
Hi,
Have a look at this code.
i_layout-f2code = '<F2CODE>'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = ws_program
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'SET_PF_STATUS'
is_layout = i_layout
it_fieldcat = i_fieldcat
it_excluding = i_exclude
it_sort = i_sort
i_save = 'A'
IS_VARIANT =
it_events = i_events
tables
t_outtab = final_itab.
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
Check function code
case r_ucomm.
when '<F2CODE>'.
read table final_itab into final_itab index rs_selfield-tabindex.
if sy-subrc = 0.
call screen 5000.
endif.
endcase.
clear r_ucomm.
endform.
module user_command_5000 input.
case sy-ucomm.
when 'EXIT'.
set screen 0.
leave screen .
endcase.
endmodule. " USER_COMMAND_5000 INPUT
Hope this helps You.
Thanks&Regards
Ruthra.R
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, can you paste the code here?
I think there is somthing wrong in the detail level ALV create or refresh. You use two screen, and each screen has a ALV, right?
Hope we can see your code, that will be useful for us to analyze the problem.
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Got this info from a link.
<i>How do I go to a transaction by double clicking on a field in the screen?
Define ok_code for function key <F2>
In Screen PAI when ok_code has the value defined (user has double clicked on the screen)
method 1: if parameter id is available for the field(s) to be populated
set parameter id 'XXX' field field_name_on_screen
call transaction 'TCODE' and skip first screen.
method 2:
1. fill bdc_table (data bdc_table like bdcdata occurs 0 with header line.) with screen info
2. use command
call transaction 'XK03' using bdc_table ...</i>
Hi , can you explain the relation of 9000 and 9001 screen.
And how about you screen process, can you offer us more details infomation?
thanks a lot
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
1000 is the selection screen. Then when the function is called it provides an alv output. When you double click on one of the columns the detail level is displayed calling the same function. When the user clicks on the back button from this screen it goes back to the previous screen with the header data. On double clicking the same column again the detail level is not displayed. I was trying to illsutrate this problem with screen numbers.
regards
Aveek
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.