User Exit En Ml81n

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • caralbgro
    Senior Member
    • sep
    • 478

    #1

    User Exit En Ml81n

    Nescesito saber como encontar un user exit en dicha transaccion y como la podria debaggear, lo que necesito es enviarn un mail a quien corresponda de una cadena dw autorizaciones para las hojas de entrada de servicio


    desde ya muchas gracias!!
    Consultor FI-CO
  • seimeinomi
    Member
    • oct
    • 75

    #2
    Con este reporte ingresas la transaccion y te devuelve un listado de exit
    fijatecual te sirve.

    Crealo en un proyecto tu exit y activalo le pones tu codigo y el break-point para debaguearlo.


    Código:
    REPORT ZBCUSER_EXIT01 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) 'Transaction Code - ',
           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 'Nombre Exit',
              21 sy-vline ,
              22 'Descripcion',
              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:/ 'Número de Exits:' , sy-tfill.
      else.
        format color col_negative intensified on.
        write:/(95) 'No existe ninguna user exit'.
      endif.
    else.
      format color col_negative intensified on.
      write:/(95) 'El código de transacción no existe'.
    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.
    No recuerdo de donde copie el codigo. Pido perdon si no coloque la fuente.

    Saludos.
    Edward Manrique A.

    Comentario

    • caralbgro
      Senior Member
      • sep
      • 478

      #3
      gracias!!!

      lo voy a probar gracias!!!

      Originalmente publicado por seimeinomi
      Con este reporte ingresas la transaccion y te devuelve un listado de exit
      fijatecual te sirve.

      Crealo en un proyecto tu exit y activalo le pones tu codigo y el break-point para debaguearlo.


      Código:
      REPORT ZBCUSER_EXIT01 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) 'Transaction Code - ',
             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 'Nombre Exit',
                21 sy-vline ,
                22 'Descripcion',
                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:/ 'Número de Exits:' , sy-tfill.
        else.
          format color col_negative intensified on.
          write:/(95) 'No existe ninguna user exit'.
        endif.
      else.
        format color col_negative intensified on.
        write:/(95) 'El código de transacción no existe'.
      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.
      No recuerdo de donde copie el codigo. Pido perdon si no coloque la fuente.

      Saludos.
      Consultor FI-CO

      Comentario

      Trabajando...