<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: User exit in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898520#M681556</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    i hope it can be done through User exit. First of all find the user exit willbe have the transaction. u can found through Smod. After finding the user exit. Go to CMOD, here create porject get into  the functionmodule write the code what ever u want&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Oct 2007 13:13:03 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-15T13:13:03Z</dc:date>
    <item>
      <title>User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898519#M681555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My requirement is if i enter wrong profit centre value during sales order creation, system should displays the error that stops the sales order creation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can i achieve this. Please let me know which exit to fulfill the above requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Govind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Govind A&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2007 13:09:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898519#M681555</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-15T13:09:05Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898520#M681556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    i hope it can be done through User exit. First of all find the user exit willbe have the transaction. u can found through Smod. After finding the user exit. Go to CMOD, here create porject get into  the functionmodule write the code what ever u want&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2007 13:13:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898520#M681556</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-15T13:13:03Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898521#M681557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you can use User Exits for getting the solution of your problem.&lt;/P&gt;&lt;P&gt;use the below program to find the user exits as well as BADIs for your transaction.&lt;/P&gt;&lt;P&gt;Then you have to choose appropriate object as per your need.&lt;/P&gt;&lt;P&gt;Kindly read the description of the userexits available..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Run below program.&lt;/P&gt;&lt;P&gt;Read the description of each user exits and try to choose related to your problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;=============================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Report ZPJA_PM002 (V2) &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Text Elements: &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; P_DEVC Show user-exits from development class &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; P_LIMIT Limit submit program selection &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; P_FUNC Show function modules &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; P_SUBM Show submit programs &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; S01 Selection data (TCode takes precedence over program name) &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;report zpja_pm002&lt;/P&gt;&lt;P&gt;no standard page heading&lt;/P&gt;&lt;P&gt;line-size 158.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*tables: enlfdir. "Additional Attributes for Function Modules&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: tabix like sy-tabix,&lt;/P&gt;&lt;P&gt;w_linnum type i,&lt;/P&gt;&lt;P&gt;w_off type i,&lt;/P&gt;&lt;P&gt;w_index like sy-tabix,&lt;/P&gt;&lt;P&gt;w_include like trdir-name,&lt;/P&gt;&lt;P&gt;w_prog like trdir-name,&lt;/P&gt;&lt;P&gt;w_incl like trdir-name,&lt;/P&gt;&lt;P&gt;w_area like rs38l-area,&lt;/P&gt;&lt;P&gt;w_level,&lt;/P&gt;&lt;P&gt;w_str(50) type c,&lt;/P&gt;&lt;P&gt;w_funcname like tfdir-funcname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;constants: c_fmod(40) type c value 'Function modules selected: ',&lt;/P&gt;&lt;P&gt;c_subm(40) type c value 'Submit programs selected: ',&lt;/P&gt;&lt;P&gt;c_col1(12) type c value 'Enhanmt Type',&lt;/P&gt;&lt;P&gt;c_col2(40) type c value 'Enhancement',&lt;/P&gt;&lt;P&gt;c_col3(30) type c value 'Program/Include',&lt;/P&gt;&lt;P&gt;c_col4(20) type c value 'Enhancement Name',&lt;/P&gt;&lt;P&gt;c_col5(40) type c value 'Enhancement Description'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work Areas: ABAP Workbench&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of wa_d010inc.&lt;/P&gt;&lt;P&gt;data: master type d010inc-master.&lt;/P&gt;&lt;P&gt;data: end of wa_d010inc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_tfdir.&lt;/P&gt;&lt;P&gt;data: funcname type tfdir-funcname,&lt;/P&gt;&lt;P&gt;pname type tfdir-pname,&lt;/P&gt;&lt;P&gt;include type tfdir-include.&lt;/P&gt;&lt;P&gt;data: end of wa_tfdir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_tadir.&lt;/P&gt;&lt;P&gt;data: devclass type tadir-devclass.&lt;/P&gt;&lt;P&gt;data: end of wa_tadir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_tstc.&lt;/P&gt;&lt;P&gt;data: pgmna type tstc-pgmna.&lt;/P&gt;&lt;P&gt;data: end of wa_tstc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_tstcp.&lt;/P&gt;&lt;P&gt;data: param type tstcp-param.&lt;/P&gt;&lt;P&gt;data: end of wa_tstcp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_enlfdir.&lt;/P&gt;&lt;P&gt;data: area type enlfdir-area.&lt;/P&gt;&lt;P&gt;data: end of wa_enlfdir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work Areas: BADIs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of wa_sxs_attr.&lt;/P&gt;&lt;P&gt;data: exit_name type sxs_attr-exit_name.&lt;/P&gt;&lt;P&gt;data: end of wa_sxs_attr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_sxs_attrt.&lt;/P&gt;&lt;P&gt;data: text type sxs_attrt-text.&lt;/P&gt;&lt;P&gt;data: end of wa_sxs_attrt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work Areas: Enhancements&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of wa_modsap.&lt;/P&gt;&lt;P&gt;data: member type modsap-member.&lt;/P&gt;&lt;P&gt;data: end of wa_modsap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_modsapa.&lt;/P&gt;&lt;P&gt;data: name type modsapa-name.&lt;/P&gt;&lt;P&gt;data: end of wa_modsapa.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_modsapt.&lt;/P&gt;&lt;P&gt;data: modtext type modsapt-modtext.&lt;/P&gt;&lt;P&gt;data: end of wa_modsapt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work Areas: Business Transaction Events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of wa_tbe01t.&lt;/P&gt;&lt;P&gt;data: text1 type tbe01t-text1.&lt;/P&gt;&lt;P&gt;data: end of wa_tbe01t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: begin of wa_tps01t.&lt;/P&gt;&lt;P&gt;data: text1 type tps01t-text1.&lt;/P&gt;&lt;P&gt;data: end of wa_tps01t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user-exits&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: begin of t_userexit,&lt;/P&gt;&lt;P&gt;type(12) type c,&lt;/P&gt;&lt;P&gt;pname like trdir-name,&lt;/P&gt;&lt;P&gt;txt(300),&lt;/P&gt;&lt;P&gt;level type c,&lt;/P&gt;&lt;P&gt;modname(30) type c,&lt;/P&gt;&lt;P&gt;modtext(40) type c,&lt;/P&gt;&lt;P&gt;end of t_userexit.&lt;/P&gt;&lt;P&gt;data: i_userexit type standard table of t_userexit with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Function module developmnet classes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: begin of t_devclass,&lt;/P&gt;&lt;P&gt;clas like trdir-clas,&lt;/P&gt;&lt;P&gt;end of t_devclass.&lt;/P&gt;&lt;P&gt;data: i_devclass type standard table of t_devclass with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Submit programs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: begin of t_submit,&lt;/P&gt;&lt;P&gt;pname like trdir-name,&lt;/P&gt;&lt;P&gt;level,&lt;/P&gt;&lt;P&gt;done,&lt;/P&gt;&lt;P&gt;end of t_submit.&lt;/P&gt;&lt;P&gt;data: i_submit type standard table of t_submit with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Source code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: begin of t_sourcetab, "#EC * (SLIN lügt!)&lt;/P&gt;&lt;P&gt;line(200), "#EC * (SLIN lügt!)&lt;/P&gt;&lt;P&gt;end of t_sourcetab. "#EC * (SLIN lügt!)&lt;/P&gt;&lt;P&gt;data: sourcetab type standard table of t_sourcetab with header line.&lt;/P&gt;&lt;P&gt;data c_overflow(30000) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description of an ABAP/4 source analysis token&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: i_stoken type standard table of stokex with header line.&lt;/P&gt;&lt;P&gt;data wa_stoken like i_stoken.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description of an ABAP/4 source analysis statement&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: i_sstmnt type standard table of sstmnt with header line."#EC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;keywords for searching ABAP code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: begin of t_keywords,&lt;/P&gt;&lt;P&gt;word(30),&lt;/P&gt;&lt;P&gt;end of t_keywords.&lt;/P&gt;&lt;P&gt;data: keywords type standard table of t_keywords with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;function modules within program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: begin of t_fmodule,&lt;/P&gt;&lt;P&gt;name like rs38l-name,&lt;/P&gt;&lt;P&gt;pname like trdir-name,&lt;/P&gt;&lt;P&gt;pname2 like trdir-name,&lt;/P&gt;&lt;P&gt;level,&lt;/P&gt;&lt;P&gt;bapi,&lt;/P&gt;&lt;P&gt;done,&lt;/P&gt;&lt;P&gt;end of t_fmodule.&lt;/P&gt;&lt;P&gt;data: i_fmodule type standard table of t_fmodule with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Selection Options &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;selection-screen begin of block selscr1 with frame title text-s01.&lt;/P&gt;&lt;P&gt;parameter: p_pname like trdir-name memory id rid,&lt;/P&gt;&lt;P&gt;p_tcode like syst-tcode,&lt;/P&gt;&lt;P&gt;p_limit(4) type n default 100,&lt;/P&gt;&lt;P&gt;p_devc like rihea-dy_ofn default ' ',&lt;/P&gt;&lt;P&gt;p_func like rihea-dy_ofn default ' ',&lt;/P&gt;&lt;P&gt;p_subm like rihea-dy_ofn default ' '.&lt;/P&gt;&lt;P&gt;selection-screen end of block selscr1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; START-OF-SELECTION &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_pname is initial and p_tcode is initial.&lt;/P&gt;&lt;P&gt;message e008(hrfpm). "Make entry on the selection screen&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ensure P_LIMIT is not zero.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_limit = 0.&lt;/P&gt;&lt;P&gt;p_limit = 1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform data_select.&lt;/P&gt;&lt;P&gt;perform get_submit_data.&lt;/P&gt;&lt;P&gt;perform get_fm_data.&lt;/P&gt;&lt;P&gt;perform get_additional_data.&lt;/P&gt;&lt;P&gt;perform data_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Form DATA_SELECT &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;form data_select.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data selection message to sap gui&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;destination 'SAPGUI'&lt;/P&gt;&lt;P&gt;keeping logical unit of work&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;text = 'Get programs/includes' "#EC NOTEXT&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;system_failure&lt;/P&gt;&lt;P&gt;communication_failure&lt;/P&gt;&lt;P&gt;. "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;determine search words&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;keywords-word = 'CALL'.&lt;/P&gt;&lt;P&gt;append keywords.&lt;/P&gt;&lt;P&gt;keywords-word = 'FORM'.&lt;/P&gt;&lt;P&gt;append keywords.&lt;/P&gt;&lt;P&gt;keywords-word = 'PERFORM'.&lt;/P&gt;&lt;P&gt;append keywords.&lt;/P&gt;&lt;P&gt;keywords-word = 'SUBMIT'.&lt;/P&gt;&lt;P&gt;append keywords.&lt;/P&gt;&lt;P&gt;keywords-word = 'INCLUDE'.&lt;/P&gt;&lt;P&gt;append keywords.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not p_tcode is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get program name from TCode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;select single pgmna from tstc into wa_tstc-pgmna&lt;/P&gt;&lt;P&gt;where tcode eq p_tcode.&lt;/P&gt;&lt;P&gt;if not wa_tstc-pgmna is initial.&lt;/P&gt;&lt;P&gt;p_pname = wa_tstc-pgmna.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TCode does not include program name, but does have refereve TCode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;select single param from tstcp into wa_tstcp-param&lt;/P&gt;&lt;P&gt;where tcode eq p_tcode.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;check wa_tstcp-param(1) = '/'.&lt;/P&gt;&lt;P&gt;check wa_tstcp-param+1(1) = '*'.&lt;/P&gt;&lt;P&gt;if wa_tstcp-param ca ' '.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;w_off = sy-fdpos + 1.&lt;/P&gt;&lt;P&gt;subtract 2 from sy-fdpos.&lt;/P&gt;&lt;P&gt;if sy-fdpos gt 0.&lt;/P&gt;&lt;P&gt;p_tcode = wa_tstcp-param+2(sy-fdpos).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;select single pgmna from tstc into wa_tstc-pgmna&lt;/P&gt;&lt;P&gt;where tcode eq p_tcode.&lt;/P&gt;&lt;P&gt;p_pname = wa_tstc-pgmna.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message e110(/saptrx/asc) with 'No program found for: '&lt;/P&gt;&lt;P&gt;p_tcode."#EC NOTEXT&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message e110(/saptrx/asc) with 'No program found for: ' p_tcode.&lt;/P&gt;&lt;P&gt;"#EC NOTEXT&lt;/P&gt;&lt;P&gt;stop.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call customer-function aus Program coding&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;read report p_pname into sourcetab.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;message e017(enhancement) with p_pname raising no_program."#EC *&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;scan abap-source sourcetab tokens into i_stoken&lt;/P&gt;&lt;P&gt;statements into i_sstmnt&lt;/P&gt;&lt;P&gt;keywords from keywords&lt;/P&gt;&lt;P&gt;overflow into c_overflow&lt;/P&gt;&lt;P&gt;with includes.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH ANALYSIS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if sy-subrc &amp;gt; 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner&lt;/P&gt;&lt;P&gt;message e130(enhancement) raising syntax_error. "#EC *&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check I_STOKEN for entries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;clear w_linnum.&lt;/P&gt;&lt;P&gt;describe table i_stoken lines w_linnum.&lt;/P&gt;&lt;P&gt;if w_linnum gt 0.&lt;/P&gt;&lt;P&gt;w_level = '0'.&lt;/P&gt;&lt;P&gt;w_prog = ''.&lt;/P&gt;&lt;P&gt;w_incl = ''.&lt;/P&gt;&lt;P&gt;perform data_search tables i_stoken using w_level w_prog w_incl.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "DATA_SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Form GET_FM_DATA &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;form get_fm_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data selection message to sap gui&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;destination 'SAPGUI'&lt;/P&gt;&lt;P&gt;keeping logical unit of work&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;text = 'Get function module data' "#EC NOTEXT&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;system_failure&lt;/P&gt;&lt;P&gt;communication_failure&lt;/P&gt;&lt;P&gt;. "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Function module data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;sort i_fmodule by name.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from i_fmodule comparing name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_fmodule where done ne 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .&lt;/P&gt;&lt;P&gt;refresh: i_stoken, i_sstmnt, sourcetab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_tfdir.&lt;/P&gt;&lt;P&gt;select single funcname pname include from tfdir into wa_tfdir&lt;/P&gt;&lt;P&gt;where funcname = i_fmodule-name.&lt;/P&gt;&lt;P&gt;check sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'FUNCTION_INCLUDE_SPLIT'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;program = wa_tfdir-pname&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;group = w_area.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;concatenate 'L' w_area 'U' wa_tfdir-include into w_include.&lt;/P&gt;&lt;P&gt;i_fmodule-pname = w_include.&lt;/P&gt;&lt;P&gt;i_fmodule-pname2 = wa_tfdir-pname.&lt;/P&gt;&lt;P&gt;modify i_fmodule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read report i_fmodule-pname into sourcetab.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;scan abap-source sourcetab tokens into i_stoken&lt;/P&gt;&lt;P&gt;statements into i_sstmnt&lt;/P&gt;&lt;P&gt;keywords from keywords&lt;/P&gt;&lt;P&gt;with includes.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;P&gt;message e130(enhancement) raising syntax_error.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check i_stoken for entries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;clear w_linnum.&lt;/P&gt;&lt;P&gt;describe table i_stoken lines w_linnum.&lt;/P&gt;&lt;P&gt;if w_linnum gt 0.&lt;/P&gt;&lt;P&gt;w_level = '1'.&lt;/P&gt;&lt;P&gt;w_prog = i_fmodule-pname2.&lt;/P&gt;&lt;P&gt;w_incl = i_fmodule-pname.&lt;/P&gt;&lt;P&gt;perform data_search tables i_stoken using w_level w_prog w_incl.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_devc = 'X'.&lt;/P&gt;&lt;P&gt;loop at i_fmodule.&lt;/P&gt;&lt;P&gt;clear: wa_tadir, wa_enlfdir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single area from enlfdir into wa_enlfdir-area&lt;/P&gt;&lt;P&gt;where funcname = i_fmodule-name.&lt;/P&gt;&lt;P&gt;check not wa_enlfdir-area is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single devclass into wa_tadir-devclass&lt;/P&gt;&lt;P&gt;from tadir where pgmid = 'R3TR'&lt;/P&gt;&lt;P&gt;and object = 'FUGR'&lt;/P&gt;&lt;P&gt;and obj_name = wa_enlfdir-area.&lt;/P&gt;&lt;P&gt;check not wa_tadir-devclass is initial.&lt;/P&gt;&lt;P&gt;move wa_tadir-devclass to i_devclass-clas.&lt;/P&gt;&lt;P&gt;append i_devclass.&lt;/P&gt;&lt;P&gt;i_fmodule-done = 'X'.&lt;/P&gt;&lt;P&gt;modify i_fmodule.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort i_devclass.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from i_devclass.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "GET_FM_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Form GET_SUBMIT_DATA &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;form get_submit_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data selection message to sap gui&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;destination 'SAPGUI'&lt;/P&gt;&lt;P&gt;keeping logical unit of work&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;text = 'Get submit data' "#EC NOTEXT&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;system_failure&lt;/P&gt;&lt;P&gt;communication_failure&lt;/P&gt;&lt;P&gt;. "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort i_submit.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from i_submit comparing pname.&lt;/P&gt;&lt;P&gt;w_level = '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_submit where done ne 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: i_stoken, i_sstmnt, sourcetab.&lt;/P&gt;&lt;P&gt;refresh: i_stoken, i_sstmnt, sourcetab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read report i_submit-pname into sourcetab.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;scan abap-source sourcetab tokens into i_stoken&lt;/P&gt;&lt;P&gt;statements into i_sstmnt&lt;/P&gt;&lt;P&gt;keywords from keywords&lt;/P&gt;&lt;P&gt;with includes.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message e130(enhancement) raising syntax_error.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;continue.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check i_stoken for entries&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;clear w_linnum.&lt;/P&gt;&lt;P&gt;describe table i_stoken lines w_linnum.&lt;/P&gt;&lt;P&gt;if w_linnum gt 0.&lt;/P&gt;&lt;P&gt;w_prog = i_submit-pname.&lt;/P&gt;&lt;P&gt;w_incl = ''.&lt;/P&gt;&lt;P&gt;perform data_search tables i_stoken using w_level w_prog w_incl.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;restrict number of submit program selected for processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;describe table i_submit lines w_linnum.&lt;/P&gt;&lt;P&gt;if w_linnum ge p_limit.&lt;/P&gt;&lt;P&gt;w_level = '1'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;i_submit-done = 'X'.&lt;/P&gt;&lt;P&gt;modify i_submit.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "GET_SUBMIT_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Form DATA_SEARCH &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;form data_search tables p_stoken structure stoken&lt;/P&gt;&lt;P&gt;using p_level p_prog p_incl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at p_stoken.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear i_userexit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tabix = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;i_userexit-level = p_level.&lt;/P&gt;&lt;P&gt;if i_userexit-level = '0'.&lt;/P&gt;&lt;P&gt;if p_incl is initial.&lt;/P&gt;&lt;P&gt;i_userexit-pname = p_pname.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;concatenate p_pname '/' p_incl into i_userexit-pname.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;if p_incl is initial.&lt;/P&gt;&lt;P&gt;i_userexit-pname = p_prog.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;concatenate p_prog '/' p_incl into i_userexit-pname.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Include&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str eq 'INCLUDE'.&lt;/P&gt;&lt;P&gt;check p_level eq '0'. " do not perform for function modules&lt;/P&gt;&lt;P&gt;*(2nd pass)&lt;/P&gt;&lt;P&gt;w_index = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;read table p_stoken index w_index into wa_stoken.&lt;/P&gt;&lt;P&gt;check not wa_stoken-str cs 'STRUCTURE'.&lt;/P&gt;&lt;P&gt;check not wa_stoken-str cs 'SYMBOL'.&lt;/P&gt;&lt;P&gt;read table i_submit with key pname = wa_stoken-str.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;i_submit-pname = wa_stoken-str.&lt;/P&gt;&lt;P&gt;i_submit-level = p_level.&lt;/P&gt;&lt;P&gt;append i_submit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Enhancements&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str eq 'CUSTOMER-FUNCTION'.&lt;/P&gt;&lt;P&gt;clear w_funcname.&lt;/P&gt;&lt;P&gt;read table p_stoken index tabix.&lt;/P&gt;&lt;P&gt;translate p_stoken-str using ''' '.&lt;/P&gt;&lt;P&gt;condense p_stoken-str.&lt;/P&gt;&lt;P&gt;if p_prog is initial.&lt;/P&gt;&lt;P&gt;concatenate 'EXIT' p_pname p_stoken-str into w_funcname&lt;/P&gt;&lt;P&gt;separated by '_'.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;concatenate 'EXIT' p_prog p_stoken-str into w_funcname&lt;/P&gt;&lt;P&gt;separated by '_'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;select single member from modsap into wa_modsap-member&lt;/P&gt;&lt;P&gt;where member = w_funcname.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0. " check for valid enhancement&lt;/P&gt;&lt;P&gt;i_userexit-type = 'Enhancement'.&lt;/P&gt;&lt;P&gt;i_userexit-txt = w_funcname.&lt;/P&gt;&lt;P&gt;append i_userexit.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;clear wa_d010inc.&lt;/P&gt;&lt;P&gt;select single master into wa_d010inc-master&lt;/P&gt;&lt;P&gt;from d010inc&lt;/P&gt;&lt;P&gt;where include = p_prog.&lt;/P&gt;&lt;P&gt;concatenate 'EXIT' wa_d010inc-master p_stoken-str into&lt;/P&gt;&lt;P&gt;w_funcname&lt;/P&gt;&lt;P&gt;separated by '_'.&lt;/P&gt;&lt;P&gt;i_userexit-type = 'Enhancement'.&lt;/P&gt;&lt;P&gt;i_userexit-txt = w_funcname.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BADIs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str cs 'cl_exithandler='.&lt;/P&gt;&lt;P&gt;w_index = sy-tabix + 4.&lt;/P&gt;&lt;P&gt;read table p_stoken index w_index into wa_stoken.&lt;/P&gt;&lt;P&gt;i_userexit-txt = wa_stoken-str.&lt;/P&gt;&lt;P&gt;replace all occurrences of '''' in i_userexit-txt with space.&lt;/P&gt;&lt;P&gt;i_userexit-type = 'BADI'.&lt;/P&gt;&lt;P&gt;append i_userexit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Business transaction events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str cs 'OPEN_FI_PERFORM'.&lt;/P&gt;&lt;P&gt;i_userexit-type = 'BusTrEvent'.&lt;/P&gt;&lt;P&gt;i_userexit-txt = p_stoken-str.&lt;/P&gt;&lt;P&gt;replace all occurrences of '''' in i_userexit-txt with space.&lt;/P&gt;&lt;P&gt;i_userexit-modname = i_userexit-txt+16(8).&lt;/P&gt;&lt;P&gt;case i_userexit-txt+25(1).&lt;/P&gt;&lt;P&gt;when 'E'.&lt;/P&gt;&lt;P&gt;clear wa_tbe01t.&lt;/P&gt;&lt;P&gt;select single text1 into wa_tbe01t-text1 from tbe01t&lt;/P&gt;&lt;P&gt;where event = i_userexit-txt+16(8)&lt;/P&gt;&lt;P&gt;and spras = sy-langu.&lt;/P&gt;&lt;P&gt;if wa_tbe01t-text1 is initial.&lt;/P&gt;&lt;P&gt;i_userexit-modtext = ''. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;i_userexit-modtext = wa_tbe01t-text1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;i_userexit-modname+8 = '/P&amp;amp;S'. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;when 'P'.&lt;/P&gt;&lt;P&gt;clear wa_tps01t.&lt;/P&gt;&lt;P&gt;select single text1 into wa_tps01t-text1 from tps01t&lt;/P&gt;&lt;P&gt;where procs = i_userexit-txt+16(8)&lt;/P&gt;&lt;P&gt;and spras = sy-langu.&lt;/P&gt;&lt;P&gt;i_userexit-modtext = wa_tps01t-text1.&lt;/P&gt;&lt;P&gt;i_userexit-modname+8 = '/Process'.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append i_userexit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program exits&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str cs 'USEREXIT_'.&lt;/P&gt;&lt;P&gt;i_userexit-type = 'Program Exit'.&lt;/P&gt;&lt;P&gt;i_userexit-txt = p_stoken-str.&lt;/P&gt;&lt;P&gt;replace all occurrences of '''' in i_userexit-txt with space.&lt;/P&gt;&lt;P&gt;append i_userexit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Submit programs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str cs 'SUBMIT'.&lt;/P&gt;&lt;P&gt;check p_level eq '0'. " do not perform for function modules&lt;/P&gt;&lt;P&gt;*(2nd pass)&lt;/P&gt;&lt;P&gt;check not p_stoken-str cs '_'. " ensure not SUBMIT_XXX&lt;/P&gt;&lt;P&gt;w_index = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;read table p_stoken index w_index into wa_stoken.&lt;/P&gt;&lt;P&gt;check not wa_stoken-str cs '_'. " ensure not SUBMIT_XXX&lt;/P&gt;&lt;P&gt;replace all occurrences of '''' in wa_stoken-str with space.&lt;/P&gt;&lt;P&gt;read table i_submit with key pname = wa_stoken-str.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;i_submit-pname = wa_stoken-str.&lt;/P&gt;&lt;P&gt;i_submit-level = p_level.&lt;/P&gt;&lt;P&gt;append i_submit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Perform routines (which reference external programs)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str cs 'PERFORM'.&lt;/P&gt;&lt;P&gt;check p_level eq '0'. " do not perform for function modules&lt;/P&gt;&lt;P&gt;*(2nd pass)&lt;/P&gt;&lt;P&gt;w_index = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;read table p_stoken index w_index into wa_stoken.&lt;/P&gt;&lt;P&gt;if not wa_stoken-ovfl is initial.&lt;/P&gt;&lt;P&gt;w_off = wa_stoken-off1 + 10.&lt;/P&gt;&lt;P&gt;w_str = c_overflow+w_off(30).&lt;/P&gt;&lt;P&gt;find ')' in w_str match offset w_off.&lt;/P&gt;&lt;P&gt;w_off = w_off + 1.&lt;/P&gt;&lt;P&gt;wa_stoken-str = w_str(w_off).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check wa_stoken-str cs '('.&lt;/P&gt;&lt;P&gt;w_off = 0.&lt;/P&gt;&lt;P&gt;while sy-subrc = 0.&lt;/P&gt;&lt;P&gt;if wa_stoken-str+w_off(1) eq '('.&lt;/P&gt;&lt;P&gt;replace section offset w_off length 1 of wa_stoken-str with ''&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;replace all occurrences of ')' in wa_stoken-str with space.&lt;/P&gt;&lt;P&gt;read table i_submit with key pname = wa_stoken-str.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;i_submit-pname = wa_stoken-str.&lt;/P&gt;&lt;P&gt;append i_submit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;replace section offset w_off length 1 of wa_stoken-str with ''&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;shift wa_stoken-str left deleting leading space.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endwhile.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Function modules&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_stoken-str cs 'FUNCTION'.&lt;/P&gt;&lt;P&gt;clear i_fmodule.&lt;/P&gt;&lt;P&gt;check p_level eq '0'. " do not perform for function modules&lt;/P&gt;&lt;P&gt;*(2nd pass)&lt;/P&gt;&lt;P&gt;w_index = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;read table p_stoken index w_index into wa_stoken.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;if wa_stoken-str cs 'WF_'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if wa_stoken-str cs 'IF_'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;break-point.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_stoken-str cs 'BAPI'.&lt;/P&gt;&lt;P&gt;i_fmodule-bapi = 'X'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;replace first occurrence of '''' in wa_stoken-str with space.&lt;/P&gt;&lt;P&gt;replace first occurrence of '''' in wa_stoken-str with space.&lt;/P&gt;&lt;P&gt;if sy-subrc = 4. " didn't find 2nd quote (ie name truncated)&lt;/P&gt;&lt;P&gt;clear wa_tfdir.&lt;/P&gt;&lt;P&gt;concatenate wa_stoken-str '%' into wa_stoken-str.&lt;/P&gt;&lt;P&gt;select single funcname into wa_tfdir-funcname from tfdir&lt;/P&gt;&lt;P&gt;where funcname like wa_stoken-str.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;i_fmodule-name = wa_tfdir-funcname.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;continue.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;i_fmodule-name = wa_stoken-str.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_fmodule-level = p_level.&lt;/P&gt;&lt;P&gt;append i_fmodule.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "DATA_SEARCH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Form GET_ADDITIONAL_DATA &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;form get_additional_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data selection message to sap gui&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;destination 'SAPGUI'&lt;/P&gt;&lt;P&gt;keeping logical unit of work&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;text = 'Get additional data' "#EC NOTEXT&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;system_failure&lt;/P&gt;&lt;P&gt;communication_failure&lt;/P&gt;&lt;P&gt;. "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_userexit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Enhancement data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if i_userexit-type cs 'Enh'.&lt;/P&gt;&lt;P&gt;clear: wa_modsapa.&lt;/P&gt;&lt;P&gt;select single name into wa_modsapa-name from modsap&lt;/P&gt;&lt;P&gt;where member = i_userexit-txt.&lt;/P&gt;&lt;P&gt;check sy-subrc = 0.&lt;/P&gt;&lt;P&gt;i_userexit-modname = wa_modsapa-name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_modsapt.&lt;/P&gt;&lt;P&gt;select single modtext into wa_modsapt-modtext from modsapt&lt;/P&gt;&lt;P&gt;where name = wa_modsapa-name&lt;/P&gt;&lt;P&gt;and sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;i_userexit-modtext = wa_modsapt-modtext.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BADI data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if i_userexit-type eq 'BADI'.&lt;/P&gt;&lt;P&gt;clear wa_sxs_attr.&lt;/P&gt;&lt;P&gt;select single exit_name into wa_sxs_attr-exit_name from sxs_attr&lt;/P&gt;&lt;P&gt;where exit_name = i_userexit-txt.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;i_userexit-modname = i_userexit-txt.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;i_userexit-modname = 'Dynamic call'. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;clear wa_sxs_attrt.&lt;/P&gt;&lt;P&gt;select single text into wa_sxs_attrt-text from sxs_attrt&lt;/P&gt;&lt;P&gt;where exit_name =&lt;/P&gt;&lt;P&gt;wa_sxs_attr-exit_name&lt;/P&gt;&lt;P&gt;and sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;i_userexit-modtext = wa_sxs_attrt-text.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify i_userexit.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get enhancements via program package&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;clear wa_tadir.&lt;/P&gt;&lt;P&gt;select single devclass into wa_tadir-devclass from tadir&lt;/P&gt;&lt;P&gt;where pgmid = 'R3TR'&lt;/P&gt;&lt;P&gt;and object = 'PROG'&lt;/P&gt;&lt;P&gt;and obj_name = p_pname.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;clear: wa_modsapa, wa_modsapt.&lt;/P&gt;&lt;P&gt;select name from modsapa into wa_modsapa-name&lt;/P&gt;&lt;P&gt;where devclass = wa_tadir-devclass.&lt;/P&gt;&lt;P&gt;select single modtext from modsapt into wa_modsapt-modtext&lt;/P&gt;&lt;P&gt;where name = wa_modsapa-name&lt;/P&gt;&lt;P&gt;and sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_userexit with key modname = wa_modsapa-name.&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;i_userexit-modtext = wa_modsapt-modtext.&lt;/P&gt;&lt;P&gt;i_userexit-type = 'Enhancement'. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;i_userexit-modname = wa_modsapa-name.&lt;/P&gt;&lt;P&gt;i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT&lt;/P&gt;&lt;P&gt;i_userexit-pname = 'Unknown'. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;append i_userexit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "GET_ADDITIONAL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; Form DATA_DISPLAY &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp; &amp;amp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;*&lt;/P&gt;&lt;P&gt;form data_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;data selection message to sap gui&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call function 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;destination 'SAPGUI'&lt;/P&gt;&lt;P&gt;keeping logical unit of work&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;text = 'Prepare screen for display' "#EC NOTEXT&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;system_failure&lt;/P&gt;&lt;P&gt;communication_failure&lt;/P&gt;&lt;P&gt;. "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sort i_userexit by type txt modname.&lt;/P&gt;&lt;P&gt;delete adjacent duplicates from i_userexit comparing txt modname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;format headings&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;write: 'Enhancements from main program'. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;write: /.&lt;/P&gt;&lt;P&gt;uline.&lt;/P&gt;&lt;P&gt;format color col_heading.&lt;/P&gt;&lt;P&gt;write: / sy-vline,&lt;/P&gt;&lt;P&gt;(12) c_col1, "Enhanmt Type&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;(40) c_col2, "Enhancement&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;(30) c_col3, "Program/Include&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;(20) c_col4, "Enhancement name&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;(40) c_col5, "Enhancement description&lt;/P&gt;&lt;P&gt;sy-vline.&lt;/P&gt;&lt;P&gt;format reset.&lt;/P&gt;&lt;P&gt;uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;format lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;loop at i_userexit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set line colour&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;case i_userexit-type.&lt;/P&gt;&lt;P&gt;when 'Enhancement'.&lt;/P&gt;&lt;P&gt;format color 3 intensified off.&lt;/P&gt;&lt;P&gt;when 'BADI'.&lt;/P&gt;&lt;P&gt;format color 4 intensified off.&lt;/P&gt;&lt;P&gt;when 'BusTrEvent'.&lt;/P&gt;&lt;P&gt;format color 5 intensified off.&lt;/P&gt;&lt;P&gt;when 'Program Exit'.&lt;/P&gt;&lt;P&gt;format color 6 intensified off.&lt;/P&gt;&lt;P&gt;when others.&lt;/P&gt;&lt;P&gt;format reset.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;write: / sy-vline,&lt;/P&gt;&lt;P&gt;i_userexit-type,&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;i_userexit-txt(40),&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;i_userexit-pname(30),&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;i_userexit-modname(20),&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;i_userexit-modtext(40),&lt;/P&gt;&lt;P&gt;sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;format reset.&lt;/P&gt;&lt;P&gt;uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;user-exits from development class of function modules&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if p_devc = 'X'.&lt;/P&gt;&lt;P&gt;write: /.&lt;/P&gt;&lt;P&gt;write: / 'User-exits from function module development class'."#EC&lt;/P&gt;&lt;P&gt;*NOTEXT&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;uline (90).&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_devclass.&lt;/P&gt;&lt;P&gt;clear wa_modsapa.&lt;/P&gt;&lt;P&gt;select name from modsapa into wa_modsapa&lt;/P&gt;&lt;P&gt;where devclass = i_devclass-clas.&lt;/P&gt;&lt;P&gt;select single name modtext into corresponding fields of wa_modsapt&lt;/P&gt;&lt;P&gt;from modsapt&lt;/P&gt;&lt;P&gt;where name = wa_modsapa-name&lt;/P&gt;&lt;P&gt;and sprsl = sy-langu.&lt;/P&gt;&lt;P&gt;format color 3 intensified off.&lt;/P&gt;&lt;P&gt;write: / sy-vline,&lt;/P&gt;&lt;P&gt;(12) 'Enhancement',&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;wa_modsapa-name,&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;wa_modsapt-modtext,&lt;/P&gt;&lt;P&gt;sy-vline.&lt;/P&gt;&lt;P&gt;endselect.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;uline (90).&lt;/P&gt;&lt;P&gt;format reset.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;describe table i_fmodule lines w_linnum.&lt;/P&gt;&lt;P&gt;write: / c_fmod , at 35 w_linnum. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;if p_func = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;display fuction modules used in program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;uline (38).&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;loop at i_fmodule.&lt;/P&gt;&lt;P&gt;write: sy-vline,&lt;/P&gt;&lt;P&gt;i_fmodule-name,&lt;/P&gt;&lt;P&gt;sy-vline,&lt;/P&gt;&lt;P&gt;i_fmodule-bapi,&lt;/P&gt;&lt;P&gt;sy-vline.&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;uline (38).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;describe table i_submit lines w_linnum.&lt;/P&gt;&lt;P&gt;write: / c_subm , at 35 w_linnum. "#EC NOTEXT&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;if p_subm = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;display submit programs used in program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;uline (44).&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;loop at i_submit.&lt;/P&gt;&lt;P&gt;write: sy-vline,&lt;/P&gt;&lt;P&gt;i_submit-pname,&lt;/P&gt;&lt;P&gt;sy-vline.&lt;/P&gt;&lt;P&gt;write: 157''.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;uline (44).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;issue message with number of user-exits displayed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;describe table i_userexit lines w_linnum.&lt;/P&gt;&lt;P&gt;message s697(56) with w_linnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. "DATA_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards.&lt;/P&gt;&lt;P&gt;ilesh 24x7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2007 13:40:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898521#M681557</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-15T13:40:01Z</dc:date>
    </item>
    <item>
      <title>Re: User exit</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898522#M681558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think you can use MV45AFZZ - thee are a couple of SAVE subroutines in here..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2007 08:05:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/user-exit/m-p/2898522#M681558</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-16T08:05:45Z</dc:date>
    </item>
  </channel>
</rss>

