版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2007/03/19/1533453.aspx2006/09/16/1231652.aspx2006/09/16/1230344.aspx2005/02/05/281437.aspx*&-&* *& Report: Z_USEREXIT (V9) &* *&-&* *& This report attmpts to find Enhancements, Program-Exits, BADIs &* *& and Business Transaction Events in a particular program/tco
2、de. &* *& Last updated: 09 May 2007 &* *&-&* *& Selection Texts: *& P_ALV ALV format *& P_AUTH Include authority-check search *& P_BADI Display BADIs *& P_BTE Display business trans events *& P_DEVC Show development class exits *& P_EXIT Display user e
3、xits *& P_FUNC Show function modules *& P_LIMIT Limit no. of submits to search *& P_LST Standard list format *& P_PNAME Program name *& P_PROG Display program exits *& P_SUBM Show submits *& P_TCODE Transaction code *& P_TEXT Search for text *& P_WFLOW Display wor
4、kflow links *&-&* *& Text symbols: *& M01 Enter TCode or program *& M02 Enter at least one scope criteria *& S01 Selection data (TCode takes precedence over program name) *& S02 Scope criteria *& S03 Display criteria *&-&* report z_userexit no standard page he
5、ading line-size 201. tables: sxs_attr, tobjt, tstct, "TCode texts trdirt, "Program texts sxc_exit. "BADI exits type-pools: slis. "Globale Typen fr generische Listbausteine data: tabix like sy-tabix, w_linnum type i, w_off type i, w_index like sy-tabix, w_include like trdir-name,
6、w_prog like trdir-name, w_incl like trdir-name, w_area like rs38l-area, w_level, w_str(50) type c, w_cnt(2) type c, w_funcname like tfdir-funcname, w_fsel like sy-ucomm, " Determination of screen field w_gridtxt(70) type c. "ALV grid title constants: c_fmod(40) type c value 'Function m
7、odules searched: ', c_subm(40) type c value 'Submit programs searched: ', c_devc(60) type c value 'User-exits from development classes in function modules', c_col1(12) type c value 'Enhanmt Type', c_col2(40) type c value 'Enhancement', c_col3(30) type c value '
8、;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
9、9;, c_x type c value 'X'. * 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
10、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_enlfd
11、ir. * 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: e
12、nd 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 w
13、a_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:
14、 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, colour(4) type c, end of t_userexit. data: i_userexit type standard table of t_userexit with header line. * Function module developmnet classes types: be
15、gin 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
16、code types: begin of t_sourcetab, "#EC * (SLIN lgt!) line(200), "#EC * (SLIN lgt!) end of t_sourcetab. "#EC * (SLIN lgt!) 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
17、 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_keyword
18、s. 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 li
19、ne. * ALV definitions data i_fieldcat type slis_t_fieldcat_alv with header line. data i_layout type slis_layout_alv. data i_sort type slis_t_sortinfo_alv with header line. *&-&* *& Selection Options &* *&-&* selection-screen begin of block selscr1 with frame title text-s01. p
20、arameter: p_pname like trdir-name, p_tcode like syst-tcode, p_limit(4) type n default 500. selection-screen skip. selection-screen end of block selscr1. selection-screen begin of block selscr2 with frame title text-s02. parameter: p_badi as checkbox default c_x, p_bte as checkbox default c_x, p_exit
21、 as checkbox default c_x, p_prog as checkbox default c_x, p_wflow as checkbox, p_auth as checkbox. selection-screen skip. parameter: p_text(40) type c. selection-screen end of block selscr2. selection-screen begin of block selscr3 with frame title text-s03. parameter: p_alv radiobutton group rad1 de
22、fault 'X', p_lst radiobutton group rad1. selection-screen skip. parameter: p_devc like rihea-dy_ofn default ' ' modif id a01, p_func like rihea-dy_ofn default ' ' modif id a01, p_subm like rihea-dy_ofn default ' ' modif id a01. selection-screen end of block selscr3. *
23、&-&* *& START-OF-SELECTION &* *&-&* start-of-selection. if p_pname is initial and p_tcode is initial. message i000(g01) with text-m01. stop. endif. if p_badi is initial and p_exit is initial and p_bte is initial and p_wflow is initial and p_auth is initial and p_prog is initi
24、al. message i000(g01) with text-m02. 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 &* *&-&* *&
25、&* *&-&* 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 . &
26、quot;#EC * * get TCode name for ALV grid title clear w_gridtxt. if not p_tcode is initial. select single * from tstct where tcode = p_tcode and sprsl = sy-langu. concatenate 'TCode:' p_tcode tstct-ttext into w_gridtxt separated by space. endif. * get program name for ALV grid title if not p_
27、pname is initial. select single * from trdirt where name = p_pname and sprsl = sy-langu. concatenate 'Program:' p_pname tstct-ttext into w_gridtxt separated by space. endif. * determine search words keywords-word = 'CALL'. append keywords. keywords-word = 'FORM'. append keywo
28、rds. keywords-word = 'PERFORM'. append keywords. keywords-word = 'SUBMIT'. append keywords. keywords-word = 'INCLUDE'. append keywords. keywords-word = 'AUTHORITY-CHECK'. append keywords. if not p_tcode is initial. * get program name from TCode select single pgmna fro
29、m 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 reference 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) =
30、 '/'. 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-pg
31、mna. if sy-subrc <> 0. message s110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT stop. endif. else. message s110(/saptrx/asc) with 'No program found for: ' p_tcode."#EC NOTEXT stop. endif. endif. endif. * Call customer-function aus Program coding rea
32、d 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. "#EC if sy-subrc > 0. &quo
33、t;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_
34、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
35、' 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
36、ne c_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 prog
37、ram = 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
38、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-pna
39、me2. w_incl = i_fmodule-pname. perform data_search tables i_stoken using w_level w_prog w_incl. endif. endif. endloop. * store development classes if p_devc = c_x. loop at i_fmodule. clear: wa_tadir, wa_enlfdir. select single area from enlfdir into wa_enlfdir-area where funcname = i_fmodule-name. ch
40、eck 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 =
41、 c_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 'SAPG
42、UI_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'
43、;. loop at i_submit where done ne c_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
44、> 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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年智能制造裝備入股合作協(xié)議范本
- 2024-2030年中國安全鞋內(nèi)鋼包頭市場競爭策略分析及發(fā)展趨勢研究報告
- 2024年度智能制造設(shè)備融資合作意向協(xié)議書3篇
- 2024-2030年中國反6烯十八酸項目可行性研究報告
- 梅河口康美職業(yè)技術(shù)學(xué)院《生態(tài)建筑》2023-2024學(xué)年第一學(xué)期期末試卷
- 眉山藥科職業(yè)學(xué)院《建筑室內(nèi)設(shè)計制圖與識圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年版公司股份轉(zhuǎn)讓及業(yè)務(wù)重組專項合同版B版
- 馬鞍山學(xué)院《鄉(xiāng)鎮(zhèn)總體規(guī)劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度水暖電消防設(shè)施改造與節(jié)能降耗服務(wù)合同2篇
- 2024年小學(xué)三年級數(shù)學(xué)(北京版)-簡單分?jǐn)?shù)的加減法-3學(xué)習(xí)任務(wù)單
- 深圳市專業(yè)標(biāo)準(zhǔn)化技術(shù)委員會委員登記表【模板】
- 廣東佛山南海三水區(qū)2022-2023學(xué)年第一學(xué)期期末考試五年級語文
- 公共關(guān)系基本原則和要求
- 自然災(zāi)害引發(fā)的生產(chǎn)安全事故現(xiàn)場處置方案
- 產(chǎn)品可靠性測試計劃
- 簡明精神病評定量表
- 廣東省醫(yī)療、預(yù)防、保健機構(gòu)醫(yī)師聘用證明(樣表)
- 新疆巴里坤索爾巴斯陶金礦床成礦流體特征及礦床成因
- 模擬示波器原理及使用課件
- 財務(wù)報表中英文對照版
- 銀行員工談心談話記錄內(nèi)容三篇
評論
0/150
提交評論