cancel
Showing results for 
Search instead for 
Did you mean: 

view the actual sales order (VA03, Display Mode) by double clicking on the Document Number of any line item displayed in the report.

Former Member
0 Kudos

   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?

Accepted Solutions (0)

Answers (2)

Answers (2)

mihailo_sundic
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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