Badi for transaction HRBEN0001

Hi,
is there any Badi available for transaction HRBEN0001.
we have a requirement..
We have employee subgroup like O1, O2 etc
But only few employees in that subgroup are eligible for a savings plan...we would like to know if there is any Badi available for the same so that we can incorporate our own eligibility criteria
  thanks in advance
regards
sai easwar

Hi
Use this program to list all the BADIs and user exit(copy it to word and then to abap editor(se38):
& Report  ZPJA_PM002 (V2)                                            &
& Text Elements:                                                     &
& P_DEVC Show user-exits from development class                      &
& P_LIMIT Limit submit program selection                             &
& P_FUNC Show function modules                                       &
& P_SUBM Show submit programs                                        &
& S01    Selection data (TCode takes precedence  over program name)  &
report  zpja_pm002
  no standard page heading
  line-size 158.
*tables: enlfdir.     "Additional Attributes for Function Modules
data: tabix      like sy-tabix,
      w_linnum   type i,
      w_off      type i,
      w_index    like sy-tabix,
      w_include  like trdir-name,
      w_prog     like trdir-name,
      w_incl     like trdir-name,
      w_area     like rs38l-area,
      w_level,
      w_str(50)  type c,
      w_funcname like tfdir-funcname.
constants: c_fmod(40) type c value 'Function modules selected: ',
           c_subm(40) type c value 'Submit programs selected: ',
           c_col1(12) type c value 'Enhanmt Type',
           c_col2(40) type c value 'Enhancement',
           c_col3(30) type c value 'Program/Include',
           c_col4(20) type c value 'Enhancement Name',
           c_col5(40) type c value 'Enhancement Description'.
Work Areas: ABAP Workbench
data: begin of wa_d010inc.
data: master type d010inc-master.
data: end of wa_d010inc.
data: begin of wa_tfdir.
data: funcname type tfdir-funcname,
      pname    type tfdir-pname,
      include  type tfdir-include.
data: end of wa_tfdir.
data: begin of wa_tadir.
data: devclass type tadir-devclass.
data: end of wa_tadir.
data: begin of wa_tstc.
data: pgmna type tstc-pgmna.
data: end of wa_tstc.
data: begin of wa_tstcp.
data: param type tstcp-param.
data: end of wa_tstcp.
data: begin of wa_enlfdir.
data: area type enlfdir-area.
data: end of wa_enlfdir.
Work Areas: BADIs
data: begin of wa_sxs_attr.
data: exit_name type sxs_attr-exit_name.
data: end of wa_sxs_attr.
data: begin of wa_sxs_attrt.
data: text type sxs_attrt-text.
data: end of wa_sxs_attrt.
Work Areas: Enhancements
data: begin of wa_modsap.
data: member type modsap-member.
data: end of wa_modsap.
data: begin of wa_modsapa.
data: name type modsapa-name.
data: end of wa_modsapa.
data: begin of wa_modsapt.
data: modtext type modsapt-modtext.
data: end of wa_modsapt.
Work Areas: Business Transaction Events
data: begin of wa_tbe01t.
data: text1 type tbe01t-text1.
data: end of wa_tbe01t.
data: begin of wa_tps01t.
data: text1 type tps01t-text1.
data: end of wa_tps01t.
user-exits
types: begin of t_userexit,
      type(12) type c,
      pname    like trdir-name,
      txt(300),
      level    type c,
      modname(30) type c,
      modtext(40) type c,
end of t_userexit.
data: i_userexit type standard table of t_userexit with header line.
Function module developmnet classes
types: begin of t_devclass,
      clas   like trdir-clas,
end of t_devclass.
data: i_devclass type standard table of t_devclass with header line.
Submit programs
types: begin of t_submit,
      pname     like trdir-name,
      level,
      done,
end of t_submit.
data: i_submit type standard table of t_submit with header line.
Source code
types: begin of t_sourcetab,                        "#EC * (SLIN lügt!)
        line(200),                                  "#EC * (SLIN lügt!)
      end of t_sourcetab.                           "#EC * (SLIN lügt!)
data: sourcetab type standard table of t_sourcetab with header line.
data c_overflow(30000) type c.
Description of an ABAP/4 source analysis token
data: i_stoken type standard table of stokex with header line.
data wa_stoken like i_stoken.
Description of an ABAP/4 source analysis statement
data: i_sstmnt type standard table of sstmnt with header line."#EC
keywords for searching ABAP code
types: begin of t_keywords,
      word(30),
end of t_keywords.
data: keywords type standard table of t_keywords with header line.
function modules within program
types: begin of t_fmodule,
      name   like rs38l-name,
      pname  like trdir-name,
      pname2 like trdir-name,
      level,
      bapi,
      done,
end of t_fmodule.
data: i_fmodule type standard table of t_fmodule with header line.
& Selection Options                                                  &
selection-screen begin of block selscr1 with frame title text-s01.
parameter: p_pname like trdir-name memory id rid,
           p_tcode like syst-tcode,
           p_limit(4) type n default 100,
           p_devc  like rihea-dy_ofn default ' ',
           p_func  like rihea-dy_ofn default ' ',
           p_subm  like rihea-dy_ofn default ' '.
selection-screen end of block selscr1.
& START-OF-SELECTION                                                 &
start-of-selection.
  if p_pname is initial and p_tcode is initial.
    message e008(hrfpm).  "Make entry on the selection screen
    stop.
  endif.
ensure P_LIMIT is not zero.
  if p_limit = 0.
    p_limit = 1.
  endif.
  perform data_select.
  perform get_submit_data.
  perform get_fm_data.
  perform get_additional_data.
  perform data_display.
& Form DATA_SELECT                                                   &
form data_select.
data selection message to sap gui
  call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
      text                  = 'Get programs/includes'       "#EC NOTEXT
    exceptions
      system_failure
      communication_failure
    .                                                       "#EC *
determine search words
  keywords-word = 'CALL'.
  append keywords.
  keywords-word = 'FORM'.
  append keywords.
  keywords-word = 'PERFORM'.
  append keywords.
  keywords-word = 'SUBMIT'.
  append keywords.
  keywords-word = 'INCLUDE'.
  append keywords.
  if not p_tcode is initial.
get program name from TCode
    select single pgmna from tstc into wa_tstc-pgmna
                 where tcode eq p_tcode.
    if not wa_tstc-pgmna is initial.
      p_pname = wa_tstc-pgmna.
TCode does not include program name, but does have refereve TCode
    else.
      select single param from tstcp into wa_tstcp-param
                   where tcode eq p_tcode.
      if sy-subrc = 0.
        check wa_tstcp-param(1)   = '/'.
        check wa_tstcp-param+1(1) = '*'.
        if wa_tstcp-param ca ' '.
        endif.
        w_off = sy-fdpos + 1.
        subtract 2 from sy-fdpos.
        if sy-fdpos gt 0.
          p_tcode = wa_tstcp-param+2(sy-fdpos).
        endif.
        select single pgmna from tstc into wa_tstc-pgmna
               where tcode eq p_tcode.
        p_pname = wa_tstc-pgmna.
        if sy-subrc <> 0.
          message e110(/saptrx/asc) with 'No program found for: '
p_tcode."#EC NOTEXT
          stop.
        endif.
      else.
        message e110(/saptrx/asc) with 'No program found for: ' p_tcode.
"#EC NOTEXT
        stop.
      endif.
    endif.
  endif.
Call customer-function aus Program coding
  read report p_pname into sourcetab.
  if sy-subrc > 0.
    message e017(enhancement) with p_pname raising no_program."#EC *
  endif.
  scan abap-source sourcetab tokens     into i_stoken
                             statements into i_sstmnt
                             keywords   from keywords
                             overflow into c_overflow
                             with includes.
                             WITH ANALYSIS.
  if sy-subrc > 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner
    message e130(enhancement) raising syntax_error.         "#EC *
  endif.
check I_STOKEN for entries
  clear w_linnum.
  describe table i_stoken lines w_linnum.
  if w_linnum gt 0.
    w_level = '0'.
    w_prog = ''.
    w_incl = ''.
    perform data_search tables i_stoken using w_level w_prog w_incl.
  endif.
endform.                        "DATA_SELECT
& Form GET_FM_DATA                                                   &
form get_fm_data.
data selection message to sap gui
  call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
      text                  = 'Get function module data'    "#EC NOTEXT
    exceptions
      system_failure
      communication_failure
    .                                                       "#EC *
Function module data
  sort i_fmodule by name.
  delete adjacent duplicates from i_fmodule comparing name.
  loop at i_fmodule where done  ne 'X'.
    clear:   i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .
    refresh: i_stoken, i_sstmnt, sourcetab.
    clear wa_tfdir.
    select single funcname pname include from tfdir into wa_tfdir
                            where funcname = i_fmodule-name.
    check sy-subrc = 0.
    call function 'FUNCTION_INCLUDE_SPLIT'
      exporting
        program = wa_tfdir-pname
      importing
        group   = w_area.
    concatenate 'L' w_area 'U' wa_tfdir-include into w_include.
    i_fmodule-pname  = w_include.
    i_fmodule-pname2 = wa_tfdir-pname.
    modify i_fmodule.
    read report i_fmodule-pname into sourcetab.
    if sy-subrc = 0.
      scan abap-source sourcetab tokens     into i_stoken
                                 statements into i_sstmnt
                                 keywords   from keywords
                                 with includes.
      if sy-subrc > 0.
        message e130(enhancement) raising syntax_error.
      endif.
check i_stoken for entries
      clear w_linnum.
      describe table i_stoken lines w_linnum.
      if w_linnum gt 0.
        w_level = '1'.
        w_prog  = i_fmodule-pname2.
        w_incl =  i_fmodule-pname.
        perform data_search tables i_stoken using w_level w_prog w_incl.
      endif.
    endif.
  endloop.
  if p_devc = 'X'.
    loop at i_fmodule.
      clear: wa_tadir, wa_enlfdir.
      select single area from enlfdir into wa_enlfdir-area
                            where funcname = i_fmodule-name.
      check not wa_enlfdir-area is initial.
      select single devclass into wa_tadir-devclass
                      from tadir where pgmid    = 'R3TR'
                                   and object   = 'FUGR'
                                   and obj_name = wa_enlfdir-area.
      check not wa_tadir-devclass is initial.
      move wa_tadir-devclass to i_devclass-clas.
      append i_devclass.
      i_fmodule-done = 'X'.
      modify i_fmodule.
    endloop.
    sort i_devclass.
    delete adjacent duplicates from i_devclass.
  endif.
endform.                        "GET_FM_DATA
& Form GET_SUBMIT_DATA                                               &
form get_submit_data.
data selection message to sap gui
  call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
      text                  = 'Get submit data'             "#EC NOTEXT
    exceptions
      system_failure
      communication_failure
    .                                                       "#EC *
  sort i_submit.
  delete adjacent duplicates from i_submit comparing pname.
  w_level = '0'.
  loop at i_submit where done ne 'X'.
    clear:   i_stoken, i_sstmnt, sourcetab.
    refresh: i_stoken, i_sstmnt, sourcetab.
    read report i_submit-pname into sourcetab.
    if sy-subrc = 0.
      scan abap-source sourcetab tokens     into i_stoken
                                 statements into i_sstmnt
                                 keywords   from keywords
                                 with includes.
      if sy-subrc > 0.
       message e130(enhancement) raising syntax_error.
        continue.
      endif.
check i_stoken for entries
      clear w_linnum.
      describe table i_stoken lines w_linnum.
      if w_linnum gt 0.
        w_prog  = i_submit-pname.
        w_incl = ''.
        perform data_search tables i_stoken using w_level w_prog w_incl.
      endif.
    endif.
restrict number of submit program selected for processing
    describe table i_submit lines w_linnum.
    if w_linnum ge p_limit.
      w_level = '1'.
    endif.
    i_submit-done = 'X'.
    modify i_submit.
  endloop.
endform.                       "GET_SUBMIT_DATA
& Form DATA_SEARCH                                                   &
form data_search tables p_stoken structure stoken
                        using p_level p_prog p_incl.
  loop at p_stoken.
    clear i_userexit.
    tabix = sy-tabix + 1.
    i_userexit-level = p_level.
    if i_userexit-level = '0'.
      if p_incl is initial.
        i_userexit-pname = p_pname.
      else.
        concatenate  p_pname '/' p_incl into i_userexit-pname.
      endif.
    else.
      if p_incl is initial.
        i_userexit-pname = p_prog.
      else.
        concatenate  p_prog '/' p_incl into i_userexit-pname.
      endif.
    endif.
Include
    if p_stoken-str eq 'INCLUDE'.
      check p_level eq '0'.    " do not perform for function modules
*(2nd pass)
      w_index = sy-tabix + 1.
      read table p_stoken index w_index into wa_stoken.
      check not wa_stoken-str cs 'STRUCTURE'.
      check not wa_stoken-str cs 'SYMBOL'.
      read table i_submit with key pname = wa_stoken-str.
      if sy-subrc <> 0.
        i_submit-pname = wa_stoken-str.
        i_submit-level = p_level.
        append i_submit.
      endif.
    endif.
Enhancements
    if p_stoken-str eq 'CUSTOMER-FUNCTION'.
      clear w_funcname.
      read table p_stoken index tabix.
      translate p_stoken-str using ''' '.
      condense p_stoken-str.
      if p_prog is initial.
        concatenate 'EXIT' p_pname p_stoken-str into w_funcname
                     separated by '_'.
      else.
        concatenate 'EXIT' p_prog p_stoken-str into w_funcname
               separated by '_'.
      endif.
      select single member from modsap into wa_modsap-member
            where member = w_funcname.
      if sy-subrc = 0.   " check for valid enhancement
        i_userexit-type = 'Enhancement'.
        i_userexit-txt  = w_funcname.
        append i_userexit.
      else.
        clear wa_d010inc.
        select single master into wa_d010inc-master
              from d010inc
                 where include = p_prog.
        concatenate 'EXIT' wa_d010inc-master p_stoken-str into
w_funcname
               separated by '_'.
        i_userexit-type = 'Enhancement'.
        i_userexit-txt  = w_funcname.
      endif.
    endif.
BADIs
    if p_stoken-str cs 'cl_exithandler='.
      w_index = sy-tabix + 4.
      read table p_stoken index w_index into wa_stoken.
      i_userexit-txt = wa_stoken-str.
      replace all occurrences of '''' in i_userexit-txt with space.
      i_userexit-type = 'BADI'.
      append i_userexit.
    endif.
Business transaction events
    if p_stoken-str cs 'OPEN_FI_PERFORM'.
      i_userexit-type = 'BusTrEvent'.
      i_userexit-txt = p_stoken-str.
      replace all occurrences of '''' in i_userexit-txt with space.
      i_userexit-modname =  i_userexit-txt+16(8).
      case i_userexit-txt+25(1).
        when 'E'.
          clear wa_tbe01t.
          select single text1 into wa_tbe01t-text1 from tbe01t
                           where event = i_userexit-txt+16(8)
                             and spras = sy-langu.
          if wa_tbe01t-text1 is initial.
            i_userexit-modtext = ''.            "#EC NOTEXT
          else.
            i_userexit-modtext = wa_tbe01t-text1.
          endif.
          i_userexit-modname+8 = '/P&S'.                    "#EC NOTEXT
        when 'P'.
          clear wa_tps01t.
          select single text1 into wa_tps01t-text1 from tps01t
                           where procs = i_userexit-txt+16(8)
                             and spras = sy-langu.
          i_userexit-modtext = wa_tps01t-text1.
          i_userexit-modname+8 = '/Process'.
      endcase.
      append i_userexit.
    endif.
Program exits
    if p_stoken-str cs 'USEREXIT_'.
      i_userexit-type = 'Program Exit'.
      i_userexit-txt = p_stoken-str.
      replace all occurrences of '''' in i_userexit-txt with space.
      append i_userexit.
    endif.
Submit programs
    if p_stoken-str cs 'SUBMIT'.
      check p_level eq '0'.    " do not perform for function modules
*(2nd pass)
      check not p_stoken-str cs '_'.   " ensure not SUBMIT_XXX
      w_index = sy-tabix + 1.
      read table p_stoken index w_index into wa_stoken.
      check not wa_stoken-str cs '_'.   " ensure not SUBMIT_XXX
      replace all occurrences of '''' in wa_stoken-str with space.
      read table i_submit with key pname = wa_stoken-str.
      if sy-subrc <> 0.
        i_submit-pname = wa_stoken-str.
        i_submit-level = p_level.
        append i_submit.
      endif.
    endif.
Perform routines (which reference external programs)
    if p_stoken-str cs 'PERFORM'.
      check p_level eq '0'.    " do not perform for function modules
*(2nd pass)
      w_index = sy-tabix + 1.
      read table p_stoken index w_index into wa_stoken.
      if not wa_stoken-ovfl is initial.
        w_off = wa_stoken-off1 + 10.
        w_str = c_overflow+w_off(30).
        find ')' in w_str match offset w_off.
        w_off = w_off + 1.
        wa_stoken-str = w_str(w_off).
      endif.
      check wa_stoken-str cs '('.
      w_off = 0.
      while sy-subrc  = 0.
        if wa_stoken-str+w_off(1) eq '('.
          replace section offset w_off length 1 of wa_stoken-str with ''
          replace all occurrences of ')' in wa_stoken-str with space.
          read table i_submit with key pname = wa_stoken-str.
          if sy-subrc <> 0.
            i_submit-pname = wa_stoken-str.
            append i_submit.
          endif.
          exit.
        else.
          replace section offset w_off length 1 of wa_stoken-str with ''
          shift wa_stoken-str left deleting leading space.
        endif.
      endwhile.
    endif.
Function modules
    if p_stoken-str cs 'FUNCTION'.
      clear i_fmodule.
      check p_level eq '0'.    " do not perform for function modules
*(2nd pass)
      w_index = sy-tabix + 1.
      read table p_stoken index w_index into wa_stoken.
     if wa_stoken-str cs 'WF_'.
     if wa_stoken-str cs 'IF_'.
       break-point.
     endif.
      if wa_stoken-str cs 'BAPI'.
        i_fmodule-bapi = 'X'.
      endif.
      replace first occurrence of '''' in wa_stoken-str with space.
      replace first occurrence of '''' in wa_stoken-str with space.
      if sy-subrc = 4.   " didn't find 2nd quote (ie name truncated)
        clear wa_tfdir.
        concatenate wa_stoken-str '%' into wa_stoken-str.
        select single funcname into wa_tfdir-funcname from tfdir
                     where funcname like wa_stoken-str.
        if sy-subrc = 0.
          i_fmodule-name = wa_tfdir-funcname.
        else.
          continue.
        endif.
      else.
        i_fmodule-name = wa_stoken-str.
      endif.
      i_fmodule-level = p_level.
      append i_fmodule.
    endif.
  endloop.
endform.                        "DATA_SEARCH
& Form GET_ADDITIONAL_DATA                                           &
form get_additional_data.
data selection message to sap gui
  call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
      text                  = 'Get additional data'         "#EC NOTEXT
    exceptions
      system_failure
      communication_failure
    .                                                       "#EC *
  loop at i_userexit.
Enhancement data
    if  i_userexit-type cs 'Enh'.
      clear: wa_modsapa.
      select single name into wa_modsapa-name from modsap
                        where member = i_userexit-txt.
      check sy-subrc = 0.
      i_userexit-modname = wa_modsapa-name.
      clear wa_modsapt.
      select single modtext into wa_modsapt-modtext from modsapt
                        where name = wa_modsapa-name
                                     and sprsl = sy-langu.
      i_userexit-modtext = wa_modsapt-modtext.
    endif.
BADI data
    if  i_userexit-type eq 'BADI'.
      clear wa_sxs_attr.
      select single exit_name into wa_sxs_attr-exit_name from sxs_attr
                                    where exit_name = i_userexit-txt.
      if sy-subrc = 0.
        i_userexit-modname = i_userexit-txt.
      else.
        i_userexit-modname = 'Dynamic call'.                "#EC NOTEXT
      endif.
      clear wa_sxs_attrt.
      select single text into wa_sxs_attrt-text from sxs_attrt
                                     where exit_name =
wa_sxs_attr-exit_name
                                       and sprsl = sy-langu.
      i_userexit-modtext = wa_sxs_attrt-text.
    endif.
    modify i_userexit.
  endloop.
get enhancements via program package
  clear wa_tadir.
  select single devclass into wa_tadir-devclass from tadir
                             where pgmid    = 'R3TR'
                               and object   = 'PROG'
                               and obj_name = p_pname.
  if sy-subrc = 0.
    clear: wa_modsapa, wa_modsapt.
    select name from modsapa into wa_modsapa-name
                          where devclass = wa_tadir-devclass.
      select single modtext from modsapt into wa_modsapt-modtext
                          where name = wa_modsapa-name
                            and sprsl = sy-langu.
      read table i_userexit with key modname = wa_modsapa-name.
      if sy-subrc <> 0.
        i_userexit-modtext = wa_modsapt-modtext.
        i_userexit-type = 'Enhancement'.                    "#EC NOTEXT
        i_userexit-modname  = wa_modsapa-name.
        i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT
        i_userexit-pname = 'Unknown'.                       "#EC NOTEXT
        append i_userexit.
      endif.
    endselect.
  endif.
endform.                        "GET_ADDITIONAL_DATA
& Form DATA_DISPLAY                                                  &
form data_display.
data selection message to sap gui
  call function 'SAPGUI_PROGRESS_INDICATOR'
    destination 'SAPGUI'
    keeping logical unit of work
    exporting
      text                  = 'Prepare screen for display'  "#EC NOTEXT
    exceptions
      system_failure
      communication_failure
    .                                                       "#EC *
  sort i_userexit by type txt modname.
  delete adjacent duplicates from i_userexit comparing txt modname.
format headings
  write: 'Enhancements from main program'.                  "#EC NOTEXT
  write: /.
  uline.
  format color col_heading.
  write: /    sy-vline,
         (12) c_col1,                    "Enhanmt Type
              sy-vline,
         (40) c_col2,                    "Enhancement
              sy-vline,
         (30) c_col3,                    "Program/Include
              sy-vline,
         (20) c_col4,                    "Enhancement name
              sy-vline,
         (40) c_col5,                    "Enhancement description
              sy-vline.
  format reset.
  uline.
format lines
  loop at i_userexit.
set line colour
    case i_userexit-type.
      when 'Enhancement'.
        format color 3 intensified off.
      when 'BADI'.
        format color 4 intensified off.
      when 'BusTrEvent'.
        format color 5 intensified off.
      when 'Program Exit'.
        format color 6 intensified off.
      when others.
        format reset.
    endcase.
    write: / sy-vline,
             i_userexit-type,
             sy-vline,
             i_userexit-txt(40),
             sy-vline,
             i_userexit-pname(30),
             sy-vline,
             i_userexit-modname(20),
             sy-vline,
             i_userexit-modtext(40),
             sy-vline.
  endloop.
  format reset.
  uline.
user-exits from development class of function modules
  if p_devc = 'X'.
    write: /.
    write: / 'User-exits from function module development class'."#EC
*NOTEXT
    write: 157''.
    uline (90).
    write: 157''.
    loop at i_devclass.
      clear wa_modsapa.
      select name from modsapa into wa_modsapa
                   where devclass = i_devclass-clas.
     select single name modtext into corresponding fields of wa_modsapt
                                   from modsapt
                                     where name  = wa_modsapa-name
                                       and sprsl = sy-langu.
        format color 3 intensified off.
        write: / sy-vline,
                 (12) 'Enhancement',
                 sy-vline,
                wa_modsapa-name,
                sy-vline,
                wa_modsapt-modtext,
                sy-vline.
      endselect.
    endloop.
    uline (90).
    format reset.
  endif.
  describe table i_fmodule lines w_linnum.
  write: / c_fmod , at 35 w_linnum.                         "#EC NOTEXT
  write: 157''.
  if p_func = 'X'.
display fuction modules used in program
    uline (38).
    write: 157''.
    loop at i_fmodule.
      write: sy-vline,
             i_fmodule-name,
             sy-vline,
             i_fmodule-bapi,
             sy-vline.
      write: 157''.
    endloop.
    uline (38).
  endif.
  describe table i_submit lines w_linnum.
  write: / c_subm , at 35 w_linnum.                         "#EC NOTEXT
  write: 157''.
  if p_subm = 'X'.
display submit programs used in program
    uline (44).
    write: 157''.
    loop at i_submit.
      write: sy-vline,
             i_submit-pname,
             sy-vline.
      write: 157''.
    endloop.
    uline (44).
  endif.
issue message with number of user-exits displayed
  describe table i_userexit lines w_linnum.
  message s697(56) with w_linnum.
endform.                        "DATA_DISPLAY
and for ur transaction these are the enhancement:
PBEN0001            Customer enhancement for feature BAREA (benefit area)
PBEN0002            Customer enhancement for feature BENGR(1st program grouping)
PBEN0003            Customer enhancement for feature BSTAT(2nd program grouping)
PBEN0004            Customer enhancement for feature CSTV1 (cost grouping)
PBEN0005            Customer enhancement for feature CRDV1 (credit grouping)
PBEN0006            Customer enhancement for feature ELIGR(eligibility grouping)
PBEN0007            Customer enhancement for feature TRMTY (termination type)
PBEN0008            Customer enhancement for function HR_BEN_CALC_BENEFIT_COST
PBEN0009            Customer enhancement for function HR_BEN_CALC_BENEFIT_CREDIT
PBEN0010            Customer enhancement for function HR_BEN_CALC_BENEFIT_SALARY
PBEN0011            Customer enhancement: function HR_BEN_CALC_COVERAGE_AMOUNT
PBEN0012            Customer enhancement for form CALC_ELIG_DATE
PBEN0013            Customer enhancement for form CALC_TERM_DATE
PBEN0014            Customer enhancement: Func. HR_BEN_CALC_BENEFIT_ER_CONTRIB
PBEN0015            Customer enhancement for CHECK_ELIG_SERVICE format
PBEN0016            Customer enhancement: funct. HR_BEN_CALC_PARTICIPATION_DATE
PBEN0017            Customer enhancement for feature EVTGR (adjustment grouping)
PBEN0018            Customer enhancement for feature COVGR (coverage grouping)
PBEN0019            Customer enhancement for feature EECGR (EE contr. grouping)
PBEN0020            Customer enhancement for feature ERCGR (ER contr. grouping)
PBEN0022            Customer enhancement: function HR_BEN_GET_PROCESS_DATES
PBEN0023            Customer enhancement: function HR_BEN_CALC_CUTOFF_AGE
PBEN0024            Customer enhancement: function HR_BEN_CALC_CUTOFF_LOS
PBEN0025            Customer enhancement: fucntion HR_BEN_CALC_CUTOFF_SAL
PBEN0027            Customer Enhancement for Feature LDAYW (Last Day of Week)
PBEN0028            Customer Enhancement Function HR_BEN_CALC_BENEFIT_EE_CONTRIB
PBEN0029            Customer enhancement for feature RLPGR (dep./benef. group)
PBEN0030            Customer enhancement function: HR_BEN_CALC_LENGTH_OF_SERVICE
PBEN0033            obssolete: Cust. enhanc. for funct. HR_BEN_GET_IDOC_EVENTS
PCOB0001            Customer-specific COBRA letters
PCOB0004            Customer enhancement for FM 'HR_BEN_COB_GET_TOTAL_COSTS'
reward points if it helps
gunjan

Similar Messages

  • Any Userexit & BADI for transaction VB(7 during final settlement

    Hi SAP GURUS,
    I have checked no user exit and BADI. Any Userexit & BADI for transaction VB(7 during final settlement. During final settlement of rebate, I have to change the amount from KONP table in transaction VB(7 . Let me know the userexit and BADI.
    Regards,
    Karthik.

    Hi Sekhar,
    These following BADI are not capturing KONP item details.
    I want to capture KONP item details to modify amount.
    ARC_SD_COND_CHECK : Archiving Object SD_COND: Additional Checks
    ARC_SD_COND_WRITE : Archiving Object SD_COND: Archive Additional Data
    SD_COND_SAVE_A : Save condition application A, E
    Regards,
    Karthik.

  • User exit or badi for transaction IW32

    Hi all,
    I am searching for user exit or badi for Transaction IW32 but not finding as per my requirement.here in transaction IW32 if field system status(STTXT) key value is 'Released', all line item components should get displayed in display mode.it should not allow to edit or change line item components.can anyone give user exit or BADI to achieve this.
    Thanks in advance.
    Regards,
    Harshada

    Hi,
    Try to use this exit:
    Enhancement     EXIT_SAPLBSVA_001     STATTEXT     Modification exit for formatting status text lines     
    Sample code:
    IF ( sy-tcode = 'IW32') .
      DATA: lv_str1   TYPE string.
      FIELD-SYMBOLS : <fs_qmart> TYPE ANY.
      lv_str1 = '(SAPLIQS0)VIQMEL-objnr'.
      ASSIGN (lv_str1) TO <fs_objnr>.
      SELECT SINGLE inact INTO lv_inact FROM jest WHERE  objnr = viqmel-objnr
                                                     AND   stat = c_stat
                                                     AND  inact = space.
        IF sy-subrc = 0.
          LOOP AT SCREEN.
              screen-input = 0.
              MODIFY SCREEN.
            ENDIF.
          ENDLOOP.
    ENDIF.
    Alternativ badi:
    BADI     SAPLIQS0          IQS0_STATUS_MAINTAIN     Control of Changeability of User Status     
    I hope this may helpfull.
    Thanks,
    AMS

  • User exit / badi for transaction appcreate

    Hi,
      Can nyone help me in getting user exit / badi for transaction appcreate .
    Cheers
    kamlesh

    Hi Kamlesh,
    Try below code to know the userexits for the given trxn code.
    Regards,
    Raj
    *& Report  ZTESTRAJ_USEREXITS
    REPORT  ztestraj_userexits
            NO STANDARD PAGE HEADING
            LINE-SIZE 200
            MESSAGE-ID zz.
           T A B L E    D E C L A R A T I O N S                          *
    TABLES: tftit,
            e071,
            e070.
                  S T R U C T U R E  D E C L A R A T I O N S             *
    TYPES: BEGIN OF x_tstc,
            tcode TYPE tcode,
            pgmna TYPE program_id,
           END OF x_tstc.
    TYPES: BEGIN OF x_tadir,
            obj_name TYPE  sobj_name,
            devclass TYPE devclass,
           END OF x_tadir.
    TYPES: BEGIN OF x_slog,
            obj_name TYPE sobj_name,
           END OF x_slog.
    TYPES: BEGIN OF x_final,
            name TYPE smodname,
            member TYPE modmember,
            include(15),            "Include name
           END OF x_final.
           I N T E R N A L    T A B L E    D E C L A R A T I O N S       *
    DATA: it_tstc  TYPE STANDARD TABLE OF x_tstc  WITH HEADER LINE.
    DATA: it_tadir TYPE STANDARD TABLE OF x_tadir WITH HEADER LINE.
    DATA: it_jtab  TYPE STANDARD TABLE OF x_slog  WITH HEADER LINE.
    DATA: it_final TYPE STANDARD TABLE OF x_final WITH HEADER LINE.
               V A R I A B L E S      D E C L A R A T I O N S            *
                    U S E R   I N P U T S   S C R E E N                  *
                      S E L E C T I O N    S C R E E N                   *
    SELECTION-SCREEN:  BEGIN OF BLOCK blk01 WITH FRAME TITLE text-t01.
    PARAMETERS: p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk01.
                    S t a r t    o f    S e l e c t i o n                *
    START-OF-SELECTION.
      PERFORM get_tcodes.  "Get Tcodes
      PERFORM get_objects. "Get Objects
                    E n d    o f    S e l e c t i o n                    *
    END-OF-SELECTION.
      PERFORM display_results. "Display Results
    *&      Form  get_tcodes
          Get Tcodes
    FORM get_tcodes.
      SELECT tcode
             pgmna
         INTO TABLE it_tstc
         FROM tstc
         WHERE tcode = p_tcode.
      IF sy-subrc = 0.
        SORT it_tstc BY tcode.
      ENDIF.
    ENDFORM.                    " get_tcodes
    *&      Form  get_objects
          Get Objects
    FORM get_objects.
      DATA: l_fname LIKE rs38l-name,
            l_group LIKE rs38l-area,
            l_include LIKE rs38l-include,
            l_namespace LIKE rs38l-namespace,
            l_str_area LIKE rs38l-str_area.
      DATA: v_include LIKE rodiobj-iobjnm.
      DATA: e_t_include TYPE STANDARD TABLE OF abapsource WITH HEADER LINE.
      DATA: l_line TYPE string,
            l_tabix LIKE sy-tabix.
      IF NOT it_tstc[] IS INITIAL.
        SELECT obj_name
               devclass
            INTO TABLE it_tadir
            FROM tadir FOR ALL ENTRIES IN it_tstc
            WHERE pgmid = 'R3TR' AND
                  object = 'PROG' AND
                  obj_name = it_tstc-pgmna.
        IF sy-subrc = 0.
          SORT it_tadir BY obj_name devclass.
          SELECT obj_name
            INTO TABLE it_jtab
            FROM tadir FOR ALL ENTRIES IN it_tadir
            WHERE pgmid = 'R3TR' AND
                  object = 'SMOD' AND
                  devclass = it_tadir-devclass.
          IF sy-subrc = 0.
            SORT it_jtab BY obj_name.
          ENDIF.
        ENDIF.
      ENDIF.
    *- Get UserExit names
      LOOP AT it_jtab.
        SELECT name
               member
           INTO (it_final-name, it_final-member)
           FROM modsap
           WHERE name = it_jtab-obj_name AND
                 typ  = 'E'.
          APPEND it_final.
          CLEAR  it_final.
        ENDSELECT.
      ENDLOOP.
    *- Process it_final contents.
      LOOP AT it_final.
        l_tabix = sy-tabix.
        CLEAR: l_fname,
             l_group,
             l_include,
             l_namespace,
             l_str_area.
        l_fname = it_final-member.
        CALL FUNCTION 'FUNCTION_EXISTS'
          EXPORTING
            funcname           = l_fname
          IMPORTING
            group              = l_group
            include            = l_include
            namespace          = l_namespace
            str_area           = l_str_area
          EXCEPTIONS
            function_not_exist = 1
            OTHERS             = 2.
        IF sy-subrc = 0.
          IF NOT l_include IS INITIAL.
    *- Get Source code of include.
            CLEAR: v_include, e_t_include, e_t_include[].
            v_include = l_include.
            CALL FUNCTION 'MU_INCLUDE_GET'
              EXPORTING
                i_include   = v_include
              TABLES
                e_t_include = e_t_include.
            IF sy-subrc = 0.
              LOOP AT e_t_include.
                IF e_t_include-line CS 'INCLUDE'.
                  CLEAR l_line.
                  l_line = e_t_include-line.
                  CONDENSE l_line NO-GAPS.
                  TRANSLATE l_line USING '. '.
                  l_line = l_line+7(9).
                  it_final-include = l_line.
                  MODIFY it_final INDEX l_tabix TRANSPORTING include.
                ENDIF.
              ENDLOOP.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " get_objects
    *&      Form  display_results
          Display Results
    FORM display_results.
      FORMAT COLOR COL_HEADING.
      WRITE:/1(150) sy-uline.
      WRITE:/ sy-vline,
            2(23) 'Extension Name',
            24 sy-vline,
            25(39) 'Exit Name',
            64 sy-vline,
            65(74) 'Description',
            140 sy-vline,
            141(9) 'Include',
            150 sy-vline.
      WRITE:/1(150) sy-uline.
      FORMAT RESET.
      SORT it_final BY name member.
      LOOP AT it_final.
        CLEAR tftit.
        SELECT SINGLE  stext
          INTO tftit-stext
          FROM tftit
          WHERE spras = 'EN' AND
                funcname = it_final-member.
        WRITE:/ sy-vline,
                it_final-name COLOR COL_KEY, 24 sy-vline,
                25 it_final-member, 64 sy-vline,
                65 tftit-stext, 140 sy-vline,
                141 it_final-include, 150 sy-vline.
        WRITE:/1(150) sy-uline.
      ENDLOOP.
    ENDFORM.                    " display_results

  • BADI for transaction IW51

    Hi frnds,
    Please suggest BADI for transaction IW51.
    Regards,
    Mehul.

    Hi Shah,
    In addition to the above answer I will give you the piece of code
    just paste in and execute it. You will be getting the list of exits and BADI's available for that particular Tcode.
    REPORT  ZSWAMY_BADI_FINDING.
    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.
    do 2 times.
    enddo.
    Reward points if useful.
    Cheers,
    Swamy Kunche

  • How to find another BAdi for Transaction CCM2

    I have written an Authorisation Check for transaction CCM2, but there are two select buttons.
    load and load extended.
    i added the Auth Check to BADI_CCM_EXPLOSION - Restrict Structure Explosion for Actual Configuration, which works okay when i click the "load" button, but this is not called on the "load Extended" button
    I checked the BAdi - BADI_CCM_EXPL_ALWD - Restrict Structure Explosion of Allowed and Actual Config and BADI_CCM_CHK_STATUS Adjust the CCM2 Check Result by Technical Object but these are not called from the Transaction either.
    is there another way for me to try and work what may be called within this transaction?
    when i run through the debugger it always short dumps before i get anywhere as it does not like debug mode... any suggestions??? please?

    Please skip if you already did this!
    Place a break point in method of CL_EXITHANDLER->GET_INSTANCE at line 28, CASE sy-subrc (According to ECC 6.0).
    Code looks like:
    CALL METHOD cl_exithandler=>get_class_name_by_interface
    EXPORTING
    instance = instance
    IMPORTING
    class_name = class_name
    CHANGING
    exit_name = exit_name
    EXCEPTIONS
    no_reference = 1
    no_interface_reference = 2
    no_exit_interface = 3
    data_incons_in_exit_managem = 4
    class_not_implement_interface = 5
    OTHERS = 6.
    CASE sy-subrc.--> (Right here)
    This METHOD will be called before triggering any BADI in SAP. After you place a break-point just process your transaction for which you are trying a find a BADI. Before triggering every BADI, code will stop right there and you could get to know your BADI Class and Method name through variables CLASS_NAME & EXIT_NAME respectively.
    Reddy

  • Problem with finding BADI for transaction F9K2

    I Found many BADIs for the transaction...but am not able to decide which is suitable for my requirement..
    my requirement is ..i need to keep check box removing radiobutton in the the transctio F9K2 in tab 'accounts statements'  in  Bk.st.orig column....
    in which BADI i can Achieve  my requirement....

    Hi aman,
       Clif parameter is not getting filled when debugging the screen.and i need the badi which changes the radio button field "bk.st.orig" to checkbox in the table control of the account statement tabstrip . can please help in this regard.
    thanks and regards

  • BADI for transaction MIGO

    Hello Experts,
    I have a requirement for the transaction MIGO that if the checkbox "Delivery Completed" Indicator in Purchase Order Item is set,
    the Latest GR date parameter in ME22N is updated.. Is this possible? do you have BADI for this?
    Thanks!

    Hi,
    Use Function module-EXIT_SAPMM07M_001 ,take the help of abapor for the same.
    This will resolved your issue.
    Regards,
    Sandesh Sawant

  • BADI For Transaction VF01

    Hi All,
    I have to trap the erro rlog which is generated in case of error while creating billing document using transaction VF01. That LOG can be viewed by using path EDIT->LOG.
    I debug the code and find out that it fill a structure VBFS in a Function 'RV_INVOICE_CREATE'. If i get the value of VBFS , i can easily trap the message.
    I check with some USER-EXIT, but did not get useful one. Can any one help me to find out any soultion or another approach like BADI. I also try with BADI VOR_WA_FAKTURA but when i put break point in the BADI, it does not stop here.
    PLease let me know, if any one of you know any soultion..
    Thanks
    Piyush

    HI,
    You can find the BADI your self, Check the class CL_EXITHANDLER.
    follow the below steps to find the suitable BADI for your case ..
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    Now
    4) Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction
    if you follow this 7 steps, you will find a suitable BADI.
    and also refer the thread
    Re: MB_MIGO_ITEM_BADI
    Regards
    Sudheer

  • User Exit/BADI for transaction FTR_CREATE/FTR_EDIT

    Hi,
    Have anybody worked on any userexit or BADI on tcode FTR_CREATE or FTR_EDIT? I've been searching for a userexit/badi when I save the contract. Till now I found none. I need to validate limit amount of contract when save event is triggered.
    Any inputs is appreciated... Thanks!

    Hi,
    The BADI for FTR_CREATE is ADDR_PRINTFORM_SHORT and it's implementation is CL_EX_ADDR_PRINTFORM_SHORT.
    There is an even quicker way to finding a BADI and BADI implementations for any transaction:
    1.Go to SE37 display Function Module - SXV_GET_CLIF_BY_NAME.
    2.Set a BREAKPOINT on call function SXV_ADD_PREFIX .
    3.In another SESSION run the desired transaction, parameter 'name' gives the BADI; parameter 'clif ' gives implementation, e.g. for T-Code MIGO name = MB_MIGO_BADI, clif = CL_EX_MB_MIGO_BADI .
    Regards,
    Mukesh.

  • User Exits / BADI for  transaction VA05

    Hi all,
    We need to do some modification in transaction Va05 please tell me BADI / Userexit for transaction VA05 .
    Any suggestions helpful,
    Regards,

    Hi Navdeep,
    You can find the BADI In diffrent approches, finding thourgh class CL_EXITHANDLER is 1 method.
    Here are the steps.
    1. Go to Tcode SE24
    2. In object type specify object name as CL_EXITHANDLER
    3. Double click on method - GET_INSTANCE
    4. on line no 25 , i.e. is case statement, set a debug point
    5. execute any desire transaction code in a new screen for which
    you want to find a BADI
    6. it will take you in debugging mode, debugging the program
    press F5 until you are in method
    CALL METHOD cl_badi_flt_data_trans_and_db=>act_imps_per_flt_val
    7. check the value of exit_name in exporting parameter
    8. it will list all badi's available for that transaction
    2)Finding thourgh SQL TRACE ST05 is another apporach,see the blog
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3480. [original link is broken] [original link is broken] [original link is broken]
    3) For the given transaction goto> tcode se93give the tcode and execute . you will get the development class there.
    goto tcode se84>ENVIR>Exit techniques>Bussiness addins> give the development class and execute.
    Pls reward if helpfull...
    Regards,
    Sharath

  • Any BADI for transaction C223

    Hello,
    Is there any BADI/enhancement available for transaction C223 that can be implemented. I need to do some validations before I save the production version changes. I could find BADI - "<b>CPFX_SCREEN_SET</b>" for the transaction, but it seems it is internal to SAP. I understand that we cannot implement a BADI if it is internal to SAP. Please correct me if there is another way to do it?
    Would be grateful for your inputs!!
    Thanks.
    Warm regards,
    Yogesh

    Hi,
        Take a look at by weblog which talks about modifying the standard report. Pay close attention to the comments provided by the SAP Developers.
    /people/ravikumar.allampallam/blog/2005/12/05/need-a-way-to-change-appearance-of-a-standard-existing-alv-report
    However, the BADI mentioned in the blog is available only from WAS 640 and is generic for any standard ALV report.
    You cannot add fields to the report, unless the developer has been kind enough, or you can edit the structure used to define the field catalog can be edited to add more fields or include a CUSTOM structure
    Refer below link:
    https://forums.sdn.sap.com/click.jspa?searchID=4049078&messageID=1537328
    <b>Reward points</b>
    Regrds

  • BADI for transaction FBRA

    hello,
    while doing the reversal of clearing document through transaction code FBRA , is there any user exit (BADI) available ..?
    if yes..pls give the names of the BADIs
    thnks for ur help..

    hi,
    use these exits and badis.
    Enhancement
    SAPLF051                                Workflow for FI (pre-capture, release for payment)
    RFKORIEX                                Automatic correspondence
    RFEPOS00                                Line item display: Checking of selection conditions
    RFAVIS01                                Customer Exit for Changing Payment Advice Segment Text
    FARC0002                                Additional Checks for Archiving MM Vendor Master Data
    F180A001                                Balance Sheet Adjustment
    F050S007                                FIDCCH Outbound: Influence on IDoc for Document Change
    F050S001                                FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
    F050S002                                FIDCC1: Change IDoc/do not send
    F050S003                                FIDCC2: Change IDoc/do not send
    F050S004                                FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send
    F050S005                                FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
    F050S006                                FI Outgoing IDoc: Reset Clearing in FI Document
    Business Add-in
    FI_PAYREF_BADI_010                      BAdI: Payment Reference Number
    FI_RES_ITEM_CURRENCY                    Document of Residual Item with Invoice Currency
    FI_TRANS_DATE_DERIVE                    Derive BKPF-WWERT from Other Document Header Data
    FVFZ                                    Replacement for Function Modules of Function Group FVFZ
    INVOIC_FI_INBOUND                       BADIs for Inbound IDoc INVOIC FI (Vendor Invoice)
    RFESR000_BADI_001                       BAdI for Own Processing of POR Item
    FI_DOC_DISP_LI                          Diversion to Document Items (FB03)
    FI_FB08_SUBST_BUDAT                     FB08: Check Posting Date for Reversal of FI Doc. with FB08
    FI_HEADER_SUB_1300                      Screen Enhancement for Document Header SAPMF05A
    FI_GET_INV_PYMT_AMT                     BAdI for determining the payment amount for an invoice
    FI_AUTHORITY_ITEM                       Extended Authorization Check for Document Display (FB03)
    BADI_BRNCH_TO_BUDAT                     Deriving BUDAT based on BRNCH (ENJOY)
    BADI_ENJ_ALT_ADR                        Go to alternative vendor/customer data
    AC_QUANTITY_GET                         Transfer of Quantities to Accounting - Customer Exit
    ADJUST_NET_DAYS                         Change to Net Due Date
    BADI_F040_SCREEN_600                    Screen Enhancement on F040 0600 Document Header
    BADI_FDCB_SUBBAS01                      Screen Enhancement 1 on FDCB Basic Data Screen (010, 510)
    BADI_FDCB_SUBBAS02                      Screen Enhancement 2 on FDCB Basic Data Screen (010, 510)
    BADI_FDCB_SUBBAS03                      Screen Enhancement 3 on FDCB Basic Data Screen (010, 510)
    BADI_FDCB_SUBBAS04                      Screen Enhancement 4 on FDCB Basic Data Screen (010, 510)
    BADI_FDCB_SUBBAS05                      Screen Enhancement 5 on FDCB Basic Data Screen (010, 510)
    BADI_PRKNG_NO_UPDATE                    BAdI for Deactivating Update of Parked Documents
    F050S008                                FIDCC1, FIDCC2 Inbound IDoc: Update Comparison Ledger
    FBAS_CIN_LTAX1F02                       Tax interface
    FBAS_CIN_MF05AFA0                       EWT - Downpayment Clearing - Tax transfer for CIN
    FISPLIT                                 Online Split: Cash Discount, Exchange Rate Differences

  • BADI for Transaction 7KE1

    Hi Guys,
    I am looking for CHECK BADI  for the Transaction : 7KE1
    I am using the BADI Enhancement CO_OM_PLANNING  for the Tx: KP06 and CJR2 for checking the values against a minus booking. This is working wonderful, but I should also extend this check on the Tx : 7KE1.
    Any Ideas? Maybe we need to use a CO validation. Anybody know how ?
    Thanks a lot,
    Benjamin

    Hi Guys,
    I am looking for CHECK BADI  for the Transaction : 7KE1
    I am using the BADI Enhancement CO_OM_PLANNING  for the Tx: KP06 and CJR2 for checking the values against a minus booking. This is working wonderful, but I should also extend this check on the Tx : 7KE1.
    Any Ideas? Maybe we need to use a CO validation. Anybody know how ?
    Thanks a lot,
    Benjamin

  • Suitable User-Exit or BAdi for transaction VF01

    Hi
    Is there any User-Exit or BAdi available for Transaction VF01, in which following fields are available.
    Invoice Number -> BELNR
    FI Doc. Type -> BLART
    Inv Date -> BLDAT
    Year -> GJAHR
    Thanks

    the following program are the user exit for billing.
    we often use RV60AFZC and RV60AFZZ.
    RV60AFZA
    RV60AFZB
    RV60AFZC
    RV60AFZD
    RV60AFZZ
    RV60BFZA
    For Sales order
    Pricing, item addtion deletion
    MV45AFZZ
    First, I did not find documentation for the BADI either. But at the first glance the process of implementing it looks quite straightforward. I assume you run R/3 Enterprise (4.7). So, you should implement BADI 'BADI_SD_SALES' - this must be done in transaction SE19. In particular for the purpose of adding some additional items into sales document I would implement method SAVE_DOCUMENT_PREPARE. This method has changing table parameter FXVBAP of type VA_VBAPVB_T - it holds all the sales document items. Just add items of yours to it. Certainly, you have to fill all the appropriate fields carefully.
    Hope this helps somehow.
    In that case you should use USEREXIT_DOCUMENT_SAVE_PREPARE subroutine (form). As far as I remember it has no parameters. To add items to the sales document you should modify internal table XVBAP.
    regards
    vinod

Maybe you are looking for