User exit/Badi for IP10/IP30 Transaction
Hi,
I need your exit for IP10 Transaction.
For creating work orders in PM we are using IP30 transaction, which interanally calls IP10 transaction.
I want to change the Requisitiner field ( AFVC-AFNAM ) field .
Plz let me know any exit for IP10 transaction.
Hi,
Check the User Exit "EXIT_SAPLIWP3_004".
Thank you,
Sekhar.
Similar Messages
-
To find out user exit/ badi for the VT01n transaction triggered in Save
Hi Friends,
I have the following requirement and for this appropriate user exit/ badi should be needed which will trigger during saving of the shipment.
Cass shipment type (VTTK-ADD03) field needs to be required and should be automatically populated upon creation of the shipment document. The rules for populating the value (SO, ST, PO and RA) are as follows:
If any of the orders on the shipment are customer order types, then the CASS shipment type should be a SO,
If all of the orders are STO orders, then the Cass shipment type should be "ST",
If all of the orders are PO orders, then the Cass shipment type should be "PO" , and
If all of the orders are customer return orders, then the Cass shipment type should be "RA".
I have tried with the 3 badi available and 7 to 8 user exit, but it won't work.
Thanking a lot in advance for giving the solution.
With Regards,
Ajit.Hi,
This code will give you all the user-exits.
Code:
& Report ZPJA_PM002 (Ver4) &
& PJA Consultancy Services (www.pjas.com) &
& This report attmpts to find Enhancements, Program-Exits, BADIs &
& and Business Transaction Events in a particular program/tcode. &
& Other search options: &
& Program: RPR_ABAP_SOURCE_SCAN &
& FModule: &
& 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 221.
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_fsel like sy-ucomm, " Determination of screen field
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',
c_col6(8) type c value 'Project',
c_col7(1) type c value 'S',
c_col8(12) type c value 'ChangeName',
c_col9(10) type c value 'ChangeDate'.
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 ty_mod,
member like modact-member,
name like modact-name,
status like modattr-status,
anam like modattr-anam,
adat like modattr-adat,
end of ty_mod.
data: w_mod type ty_mod.
types: begin of t_userexit,
type(12) type c,
pname like trdir-name,
txt(300),
level type c,
modname(30) type c,
modtext(60) type c,
modattr type ty_mod,
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.
types: begin of t_enlfdir,
area type enlfdir-area,
end of t_enlfdir.
data: i_enlfdir type standard table of t_enlfdir 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 NEEDED
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
endif.
else.
message e110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT
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.
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.
store function groups
select single area from enlfdir into wa_enlfdir-area
where funcname = i_fmodule-name.
i_enlfdir-area = wa_enlfdir-area.
append i_enlfdir.
Store development classes
if 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.
endif.
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.
sort funtion groups
sort i_devclass.
delete adjacent duplicates from i_devclass.
sort i_enlfdir.
delete adjacent duplicates from i_enlfdir.
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'.
check i_submit-pname ne p_pname. " ensure not the same as origianl program
clear: i_stoken, i_sstmnt, sourcetab.
refresh: i_stoken, i_sstmnt, sourcetab.
read report i_submit-pname into sourcetab.
if sy-subrc <> 0.
delete i_submit.
continue.
else.
scan abap-source sourcetab tokens into i_stoken
statements into i_sstmnt
keywords from keywords
with includes.
if sy-subrc > 0.
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.
sort i_submit.
delete adjacent duplicates from i_submit comparing pname.
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 'IDOC'.
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.
read table i_fmodule with key name = i_fmodule-name.
if sy-subrc <> 0.
i_fmodule-level = p_level.
append i_fmodule.
endif.
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.
MOH - enhancement to get the project name
clear w_mod.
select single modactmember modactname modattr~status
modattranam modattradat
into w_mod
from modact
inner join modattr
on modattrname = modactname
where modact~member = wa_modsapa-name
and modact~typ = space.
i_userexit-modattr = w_mod.
MOH - eoe
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.
Get IDOCs
loop at i_devclass.
endloop.
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,
(60) c_col5, "Enhancement description
sy-vline,
(8) c_col6, "Project
sy-vline,
(1) c_col7, "S
sy-vline,
(12) c_col8, "ChangeName
sy-vline,
(10) c_col9, "ChangeDate
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(60),
sy-vline,
i_userexit-modattr-name,
sy-vline,
i_userexit-modattr-status,
sy-vline,
i_userexit-modattr-anam,
sy-vline,
i_userexit-modattr-adat no-zero,
sy-vline.
hide: i_userexit-type,
i_userexit-txt,
i_userexit-pname,
i_userexit-modname,
i_userexit-modtext.
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).
write: 157''.
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
& User Selection Processing &
at line-selection.
get cursor field w_fsel.
case w_fsel.
when 'I_USEREXIT-MODNAME'.
case i_userexit-type.
when 'Enhancement'.
set parameter id 'MON' field i_userexit-modname.
call transaction 'SMOD' and skip first screen.
when 'BADI'.
check i_userexit-modname ne 'Dynamic call'.
set parameter id 'EXN' field i_userexit-modname.
call transaction 'SE18' and skip first screen.
when 'BusTrEvent'.
submit rfopfi00 with attr_typey_selm = 'A'
with event = i_userexit-modname(8)
via selection-screen
and return.
when others.
endcase.
when 'I_USEREXIT-PNAME'.
check i_userexit-modname ne 'Unknown'.
w_off = 0.
find '/' in i_userexit-pname match offset w_off.
if w_off = 0.
set parameter id 'RID' field i_userexit-pname.
call transaction 'SE38' and skip first screen.
else.
w_off = w_off + 1.
w_prog = i_userexit-pname+w_off.
set parameter id 'RID' field w_prog.
call transaction 'SE38' and skip first screen.
endif.
when others.
endcase.
Feel free to revert back.
--Ragu -
USER EXITS / BADI for ME12 ME15 Transactions
Hi,
I their any userexits or badi for ME12 ME15 transactions please share
Regards
Murthy .M
Moderator message : Search for available information. Thread locked.
Edited by: Vinod Kumar on May 26, 2011 3:58 PMHello Priya,
Your post is very old but do you remember if you found a solution?
Thank you in advance.
Best regards, -
User Exit / BADI for Transaction IW31 to create a POP-UP.
Hi,
I need to have a POP-UP Message in transaction IW31 on the press of ENTER. Could you give me the name of the EXIT or BADI which can be used for this purpose.Hi!
In IW31/IW32, there is no user-exit/badi for pressing Enter. User-exits are attached to well determined event (enabling, closing, saving the order and so on).
If you wanted to solve it, it seems, you have to modify the standard COIH function group. Use SE80 transaction for it. The first dynpro is 3000.
Regards
Tamá -
User exit / badi for transaction appcreate
Hi,
Can nyone help me in getting user exit / badi for transaction appcreate .
Cheers
kamleshHi 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 -
User exit/ badi for fb02 transaction
Hi,
what are the appropriate user exit/ badi for fb02 transaction for a disabling(graying out) a
payment block field for particular users..?
Regards,
AviFollowing are the exits available for FB02
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
F050S007 FIDCCH Outbound: Influence on IDoc for Document Change
F180A001 Balance Sheet Adjustment
FARC0002 Additional Checks for Archiving MM Vendor Master Data
FEDI0001 Function Exits for EDI in FI
RFAVIS01 Customer Exit for Changing Payment Advice Segment Text
RFEPOS00 Line item display: Checking of selection conditions
RFKORIEX Automatic correspondence
SAPLF051 Workflow for FI (pre-capture, release for payment) -
Request for info. on USER EXIT/BADI for FB60
Hi,
This is with reference to FB60 user exit/badi for with holding tax.I want to use the customized table for withholding tax.
]Please guide some alternative solution rather than user exit and badi.
I dont think the following user exit and badi are used for withholding tax.
I done some analysies.I didnt find any user exit/badi related to withholding tax.I found the following
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
F050S007 FIDCCH Outbound: Influence on IDoc for Document Change
F180A001 Balance Sheet Adjustment
FARC0002 Additional Checks for Archiving MM Vendor Master Data
FEDI0001 Function Exits for EDI in FI
RFAVIS01 Customer Exit for Changing Payment Advice Segment Text
RFEPOS00 Line item display: Checking of selection conditions
RFKORIEX Automatic correspondence
SAPLF051 Workflow for FI (pre-capture, release for payment)
Badi
FQST_CALC_COUNTRY,FQST_CIN_WITHITEM are related with withholding tax and they are for country specific such as India.
Every expert answer will be rewarded.
Thanks in advance
CraTry Business Transaction Events. Transaction code BERP.
Regards,
Zoltá -
User Exit / BADI for F-02 during SAVE to update BSEG Line Items.
Hi Experts,
I need a User Exit / BADI for Transaction code F-02 which triggers during save to update BSEG-SGTXT with Vendor / Customer
name in the Tax Line Item.This is to update table BSEG .
Thanks in Advance,
NithyHi,
Do it with the BTE 00001120 (tcode FIBF).
I hope this helps you
Regards,
Eduardo
PD: I forgot, check this link. It will tell you how to do it
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/207835fb-0a01-0010-34b4-fef1240ba9b7
Edited by: Eduardo Hinojosa on Jul 15, 2009 6:38 PM -
User exit/BADI for Deleting the Empty Handling unit
Hi All,
Can anyone give me the suitable User exit/BADI for the below scenario.
While creating the TO (Transfer order) for a delivery using the transaction code LT12, the system will automatically generate HU (Handling unit) number. If the materials are not found in the storage bin for the selected HU, we have to delete the Handling Unit from the delivery document.
Thanks in advance.
Thanks
Ramesh.Find below couple of User Exits for Transfer Order.
MWMTO001 - EXIT_SAPLL03T_001 (Enhancements for end of transfer order generation)
MWMTO002 - EXIT_SAPLL03T_002 (User Exit at End of TO Confirmation (in Update Task))
The Exits gives you access to LTAK and LTAP.....
Hope this is helpful to you.
Vinodh Balakrishnan -
User exit / BADI for billing block in VL01n
Hello Techies,
Through custom transaction we are creating delivery notes. We run a background job to pick up these delivery notes & create return deliveries using BDC call transaction method calling VL01N (We also create order of type return for same). Though i can not see any place where billing block is filled in custom program but still there are some deliveries with billing block. Could you please let me know if there is any User exit / BADI for billing block or any configuration setting for same?Just to add more details:
Our program sets memory id field.
We call transaction VL01N.
program clears memory id field value.
all this happens in loop for number of deliveries.
In VL01 user exit overwrites LIKP-FAKSK value to 05. However we have written code here which imports value from memory id. by this we come to know that we have created this delivery using custom transaction & billing block should not be set.
From this we can conclude that only when sy-subrc for import memory id is not equal to 0 then billing block is set.
what could be the reason for sy-subrc for import memory id is not equal to 0 ?
can it be because of number of deliveries created at a time where memory id export / import is causing problem?
we are not able to replicate this issue in Dev/Quality systems.
Thanks & Regards,
Sachin -
User Exit/BAdi for Number Range
Hi All,
Can anyone tell me is there any User Exit/BAdi for Number Range?
Rgds,
TrinadhaHi,
Please check RHIV0001 through transaction SMOD.
Hope this helps.
Donnie -
User Exit / BADi for TCode - IMA11 (Create Appropriation Request )
Hi friends ,
Can anyone help me in finding the User Exit / BADI for Transaction IMA11 (Create Appropriation Request , Module - FI ).I want to create search help for field "Partner" in table control "Person Involved" present in this transaction.
Thanks in advance.
Regards
Nand KishorHi,
The following user exits are available :
Exit Name Description
AAIR0001 IM-IS: User value fields in app.req. reporting
AAIR0002 IM-FA: User fields for app. requests
AAIR0003 IM: Workplace assignmt when creating PM order from app.req.
AAIR0004 IM Drilldown: Definition of User-Defined Characteristics
AAIR0006 IM-FA-IA: Data Transfer from App. Req. to WBS Element
regards
Aveek -
Hi all,
I'm trying do find a user-exit/badi for t-code VF01, that allows me to change at the same time,some fields, of the header structure VBRK and items structure VBRP (all the items available). Until now, all the user-exits i've tried dont allow me to change both structures at the same time, neither badi (SD_CIN_LV60AU02). Regards,
PCastroHi,
may be you are trying to chage the some other BADI. to find the exact BADI, follow this procedure.
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.
pl reward if it helps.
Thanks & Regards
Sadhu Kishore -
User exit / BADI for training and event management
Hi all,
Can anybody tell me if there is any user exit / BADI for training and event management module?
Thanks & regards,
LOIHi
BADI's for Training and Event Management
HRTEM00MASTERDATA HR: Training and Event Management - Master Data
HRTEM00NET_ACTIVITY Determine Activities of an Attendee (e.g. ESS PV8I)
HRTEM00NET_WEBST Set Cancellation Reason in ESS PV8I
HRTEM_CORR_NOTIF_REQ Customer Enhancement:Confirmation on Send (R/3 Mail, E-Mail)
HRTEM_HANDLE_BOOKING HR-TEM BAdI: Employee Leaves Company - Update TEM Data
HRTEM_INT_ZW HR-TEM: Badi for Integration TEM - Time Management
HRTEM_READ_OBJECT Customer Enhancement: Name Format
RHPV0001 Customer Enhancement for Additional Checks for Booking
Enhancemnet Spot:
HRTEM00MASTERDATA HR: Training and Event Management - Master Data
~~~Ganesh Kumar K. -
User Exit/Badi for G/L account assignment in ME21n/ME22n
Hi All,
I need user exit/badi for account assignment in item details for following requirement.
If user changes G/L account of the first line item then I have to copy same G/L account to all line items.
Please suggest me suitable user exit for this.hello,
follow the steps.......
For User Exit's
goto to tcode->status->program name->double click on that,
then goto to-> attribute take the package name and
Goto SMOD tcode ->Utilities->give the package name and F8
then a list of exits will display for that tcode as well as that package.
u can check the table MODSAP
For BADI's,
1)goto to tcode SE24 give the CL_EXITHANDLER and display and then double click on the GET_INSTANCE
keep Break point at this location 'call method cl_exithandler=>get_class_name_by_interface'
then the tcode it will trigger there and we can debugg there we can find badi'for that tcode and then remove the break point.
2)Goto to tcode->status->program name->double click on that program will display's
then press crtl+F then cl_exithandler
Thank u,
santhosh
Maybe you are looking for
-
My Ipad 2 has my previous ID at Icloud?
My Ipad 2 has my previous ID at Icloud, and keep asking me to sign in, but I don't use this account anymore. How can I delete this account from Icloud? Or how can I reset my ipad2 to original factory set up?
-
Error in Flatfile (txt) to xml file scenario
hi, while executing the Flat file (txt) to xml file scenario, the txt file picked up from my source directory, but i could not find in my target directory. when i check message monitoring, it is showing successful. Audit Log for Message: af840930-3f
-
JMS Demo Not working!!!Very poor samples from Oracle.
Hi i have installed the CHat JMS Sample into Oc4j. Everything was OK until i wanted to log into the chat application. Then on my oc4j consol the following occured: 03/10/04 14:49:08 javax.jms.JMSException: TopicConnection[Oc4jJMS.Connection.bak deskt
-
ITunes LP did not download off of pre-order
I downloaded Timberlake's "20/20 Experience (Deluxe)" today..although I got the songs, the iTunes LP did not download - WHY?
-
Deleted Absence Tables in Oracle apps
Hi All, Where(Which table)the absence deletion data is stired in Oracle Apps? Please help on this Thanks in Advance, Narendra