on 07-04-2013 10:03 AM
CLASS LCL_HANDLE_EVENTS DEFINITION.
PUBLIC SECTION.
METHODS:ON_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_SALV_EVENTS_TABLE
IMPORTING ROW COLUMN.
ENDCLASS. "lcl_handle_events DEFINITION
DATA: EVENT_HANDLER TYPE REF TO LCL_HANDLE_EVENTS.
*----------------------------------------------------------------------*
* CLASS lcl_handle_events IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS LCL_HANDLE_EVENTS IMPLEMENTATION.
METHOD ON_DOUBLE_CLICK.
CASE COLUMN.
WHEN C_VBELN.
READ TABLE T_FINAL INTO WA_FINAL INDEX ROW.
IF SY-SUBRC = 0.
SET PARAMETER ID: C_AUN FIELD WA_FINAL-VBELN.
CALL TRANSACTION C_VA03 AND SKIP FIRST SCREEN. "#EC CI_CALLTA
ENDIF.
ENDCASE.
ENDMETHOD. "on_double_click
ENDCLASS. "lcl_handle_events IMPLEMENTATION
Is Something Wrong With The Code?
If you are using ABAP for the report this will fulfill your requirement.
Take a close look at the ZUSEREXIT program.
When you execute it you enter the t-code e.g. VA01.
It will display the enhancements available in VA01.
Now you can click on the user exit name and you will
automatically be transferred to SMOD t-code with the
selected enhancement as a parameter.
You can see in the below code how simple it is to implement this.
You will not call SMOD but VA03 t-code on click.
You can use this code to execute it in SE38 and see how it works.
CODE STARTS BELOW:
report zuserexit no standard page heading.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transakcija - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Naziv exita',
21 sy-vline ,
22 'Opis exita',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'Broj exita:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'Nema user exita za ovu transakciju'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transakcija ne postoji'.
endif.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hello,
Nothing by looking at code. Can you let me know what is happening or what error you are getting if user double clicks on sales order field ?
best regrads,
swanand
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.