User exit en Migo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Vir
    Member
    • jun
    • 56

    #1

    User exit en Migo

    Buenos días,

    necesito saber si existe alguna user que me permita introducirle código en el momento de grabar la recepción de un pedido. He sacado la lista de users, he colocado break-points pero no consigo que la transacción me pare en ningún punto.

    Muchas gracias!.
  • mcartamil
    Junior Member
    • ago
    • 12

    #2
    por lo poco que se es que si no para es porque no tiene...

    Comentario

    • juantulian
      Junior Member
      • oct
      • 5

      #3
      Hola, no hay ninguna user-exit que pare ahí. En mi caso yo usé una badi (es muy parecida a una user-exit). Ojo que no paran con break-points, deberás mostrar un popup o generarle algo de código por ejemplo para encontrar donde se detiene.
      Con el siguiente código ves todas las user y badis de una transacción:
      report z_dummy_atg_3.

      tables : tstc,
      tadir,
      modsapt,
      modact,
      trdir,
      tfdir,
      enlfdir,
      sxs_attrt ,
      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,
      p_pgmna like tstc-pgmna .

      data wa_tadir type tadir.

      start-of-selection.

      if not p_tcode is initial.
      select single * from tstc where tcode eq p_tcode.

      elseif not p_pgmna is initial.
      tstc-pgmna = p_pgmna.
      endif.

      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 in ('SMOD', 'SXSD')
      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) 'Transaction Code - ',
      20(20) p_tcode,
      45(50) tstct-ttext.
      skip.
      if not jtab[] is initial.
      write:/(105) sy-uline.
      format color col_heading intensified on.

      * Sorting the internal Table
      sort jtab by object.
      data : wf_txt(60) type c,
      wf_smod type i ,
      wf_badi type i ,
      wf_object2(30) type c.
      clear : wf_smod, wf_badi , wf_object2.
      * Get the total SMOD.

      loop at jtab into wa_tadir.
      at first.
      format color col_heading intensified on.

      write:/1 sy-vline,
      2 'Enhancement/ Business Add-in',
      41 sy-vline ,
      42 'Description',
      105 sy-vline.
      write:/(105) sy-uline.
      endat.
      clear wf_txt.
      at new object.
      if wa_tadir-object = 'SMOD'.
      wf_object2 = 'Enhancement' .
      elseif wa_tadir-object = 'SXSD'.
      wf_object2 = ' Business Add-in'.

      endif.
      format color col_group intensified on.

      write:/1 sy-vline,

      2 wf_object2,
      105 sy-vline.
      endat.

      case wa_tadir-object.
      when 'SMOD'.
      wf_smod = wf_smod + 1.
      select single modtext into wf_txt
      from modsapt
      where sprsl = sy-langu
      and name = wa_tadir-obj_name.
      format color col_normal intensified off.

      when 'SXSD'.
      * For BADis
      wf_badi = wf_badi + 1 .
      select single text into wf_txt
      from sxs_attrt
      where sprsl = sy-langu
      and exit_name = wa_tadir-obj_name.
      format color col_normal intensified on.

      endcase.

      write:/1 sy-vline,
      2 wa_tadir-obj_name hotspot on,
      41 sy-vline ,
      42 wf_txt,
      105 sy-vline.
      at end of object.
      write : /(105) sy-uline.
      endat.

      endloop.

      write:/(105) sy-uline.

      skip.
      format color col_total intensified on.
      write:/ 'No.of Exits:' , wf_smod.
      write:/ 'No.of BADis:' , wf_badi.

      else.
      format color col_negative intensified on.
      write:/(105) 'No userexits or BADis exist'.
      endif.
      else.
      format color col_negative intensified on.
      write:/(105) 'Transaction does not exist'.
      endif.

      at line-selection.

      data : wf_object type tadir-object.
      clear wf_object.

      get cursor field field1.
      check field1(8) eq 'WA_TADIR'.
      read table jtab with key obj_name = sy-lisel+1(20).
      move jtab-object to wf_object.

      case wf_object.
      when 'SMOD'.
      set parameter id 'MON' field sy-lisel+1(10).

      call transaction 'SMOD' and skip first screen.
      when 'SXSD'.
      set parameter id 'EXN' field sy-lisel+1(20).
      call transaction 'SE18' and skip first screen.
      endcase.
      Editado por última vez por juantulian; 03/04/2007, 19:01:08.

      Comentario

      Trabajando...