<?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 Read source code in BAdi in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-source-code-in-badi/m-p/5257414#M1214449</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any syntax or method to read the source code contains in a BAdi? Which is similar to the functionality of syntax READ REPORT which is use to read the source code in a program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to read the source code and then look for particular syntax in it by a keyword.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Mar 2009 11:00:50 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-03-17T11:00:50Z</dc:date>
    <item>
      <title>Read source code in BAdi</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-source-code-in-badi/m-p/5257414#M1214449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any syntax or method to read the source code contains in a BAdi? Which is similar to the functionality of syntax READ REPORT which is use to read the source code in a program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to read the source code and then look for particular syntax in it by a keyword.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Mar 2009 11:00:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-source-code-in-badi/m-p/5257414#M1214449</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-17T11:00:50Z</dc:date>
    </item>
    <item>
      <title>Re: Read source code in BAdi</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/read-source-code-in-badi/m-p/5257415#M1214450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This snipped of my scan report might be helpful....&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;carsten&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Get Interface Name for BADIs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    SELECT * FROM sxs_inter INTO TABLE gt_sxs_inter&lt;/P&gt;&lt;P&gt;        WHERE exit_name IN s_badi.&lt;/P&gt;&lt;P&gt;    CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Get Implementation Names for BADIs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    SELECT * FROM sxc_exit INTO TABLE gt_sxc_exit&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN gt_sxs_inter&lt;/P&gt;&lt;P&gt;        WHERE exit_name EQ gt_sxs_inter-exit_name.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Get implemented Classes for Interfaces&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    SELECT * FROM sxc_class INTO TABLE gt_sxc_class&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN gt_sxs_inter&lt;/P&gt;&lt;P&gt;        WHERE inter_name EQ gt_sxs_inter-inter_name.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Get Methods for Interfaces&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT gt_sxs_inter.&lt;/P&gt;&lt;P&gt;      gv_cifkey = gt_sxs_inter-inter_name.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'SEO_METHOD_READ_ALL'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          cifkey            = gv_cifkey&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;          methods           = gt_meth1[]&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          clif_not_existing = 1&lt;/P&gt;&lt;P&gt;          OTHERS            = 2.&lt;/P&gt;&lt;P&gt;      APPEND LINES OF gt_meth1 TO gt_meth.              .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    gt_meth1[] = gt_meth[].&lt;/P&gt;&lt;P&gt;    CLEAR: gt_meth, gt_meth[].&lt;/P&gt;&lt;P&gt;    LOOP AT gt_sxs_inter.&lt;/P&gt;&lt;P&gt;      LOOP AT gt_sxc_class&lt;/P&gt;&lt;P&gt;          WHERE inter_name EQ gt_sxs_inter-inter_name.&lt;/P&gt;&lt;P&gt;        LOOP AT gt_meth1&lt;/P&gt;&lt;P&gt;            WHERE clsname EQ gt_sxs_inter-inter_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Get Include names for Interface Methods&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;          gt_meth-clsname = gt_sxc_class-imp_class.&lt;/P&gt;&lt;P&gt;          CONCATENATE gt_meth1-clsname '~' gt_meth1-cmpname&lt;/P&gt;&lt;P&gt;              INTO gt_meth-cmpname.&lt;/P&gt;&lt;P&gt;          APPEND gt_meth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Makro METHOD_TO_INCLUDE ?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SYSTEM-CALL QUERY METHOD gs_mtdkey-cpdname&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             OF CLASS gs_mtdkey-clsname&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             INCLUDE INTO gv_filenam. " NO DBLOCK. "470&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         if gv_filenam ne space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           s_repid-low = gv_filenam.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           s_repid-option = 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           s_repid-sign = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           append s_repid.&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;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT gt_meth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gs_mtdkey-clsname = gt_meth-clsname.&lt;/P&gt;&lt;P&gt;    gs_mtdkey-cpdname = gt_meth-cmpname.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Makro METHOD_TO_INCLUDE ?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    SYSTEM-CALL QUERY METHOD gs_mtdkey-cpdname&lt;/P&gt;&lt;P&gt;        OF CLASS gs_mtdkey-clsname&lt;/P&gt;&lt;P&gt;        INCLUDE INTO gv_filenam. " NO DBLOCK. "470&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      APPEND gv_filenam TO gt_incl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    READ REPORT gv_filenam INTO gt_source.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM read_report USING gv_filenam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM scan_source TABLES gt_source&lt;/P&gt;&lt;P&gt;                USING gv_filenam '' gt_meth-clsname gt_meth-cmpname&lt;/P&gt;&lt;P&gt;                gv_filenam 'METH' 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF p_hist NE space.&lt;/P&gt;&lt;P&gt;        PERFORM scan_hist_source USING gt_meth-clsname&lt;/P&gt;&lt;P&gt;              gt_meth-cmpname gv_filenam 'METH'.&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;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Find 'hidden' (redefinitons etc) methods via&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;TRDIR-includes for class not yet found&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    AT END OF clsname.&lt;/P&gt;&lt;P&gt;      PERFORM check_incl_meth USING gt_meth-clsname.&lt;/P&gt;&lt;P&gt;      LOOP AT gt_incl.&lt;/P&gt;&lt;P&gt;        gv_prognam = gt_incl.&lt;/P&gt;&lt;P&gt;        gs_clskey-clsname = gt_meth-clsname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Get MethName via Include&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;        SYSTEM-CALL QUERY METHOD INCLUDE FROM gv_prognam&lt;/P&gt;&lt;P&gt;          CLASS INTO gs_clskey-clsname&lt;/P&gt;&lt;P&gt;          METHOD INTO gv_mtdname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        READ REPORT gt_incl INTO gt_source.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      perform read_report using gt_incl.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        PERFORM scan_source TABLES gt_source&lt;/P&gt;&lt;P&gt;                  USING gt_incl '' gt_meth-clsname gv_mtdname&lt;/P&gt;&lt;P&gt;                  gt_incl 'METH' 0.&lt;/P&gt;&lt;P&gt;        IF p_hist NE space.&lt;/P&gt;&lt;P&gt;          PERFORM scan_hist_source USING gt_meth-clsname&lt;/P&gt;&lt;P&gt;                gv_mtdname gt_incl 'METH'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      REFRESH gt_incl.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Mar 2009 08:12:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/read-source-code-in-badi/m-p/5257415#M1214450</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-18T08:12:39Z</dc:date>
    </item>
  </channel>
</rss>

