<?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: call different badi implementation although is not multiple use in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408109#M1925668</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario,&lt;/P&gt;&lt;P&gt;the BAdI is implemented using a class that implements a certain interface. Simply instantiate the BAdI implementation class in your custom code. So instead of GET BADI simply use data badi_ref = new &amp;lt;badi implementation class&amp;gt;.&lt;/P&gt;&lt;P&gt;The only drawback I see for this approach is that you code against a specific class implementation not against a specific BAdI implementation. That means if e.G. SAP changes teh implementation class used to implement BAdI Implementation X from Class cl_badi_impl_1 to cl_badi_impl_2 your code would still invoke cl_badi_impl_1. However, I see this a merely a theoretical issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Christian &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Dec 2015 12:10:45 GMT</pubDate>
    <dc:creator>ceedee666</dc:creator>
    <dc:date>2015-12-11T12:10:45Z</dc:date>
    <item>
      <title>call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408104#M1925663</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;we got the problem, that we have to implement a BADI that is not is multiple use.&lt;/P&gt;&lt;P&gt;With oder words:&lt;/P&gt;&lt;P&gt;We can either implement Badi (A) oder Badi (B).&lt;/P&gt;&lt;P&gt;So we decedied to implement Badi (A)&lt;/P&gt;&lt;P&gt;As a result the statement:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GET &lt;SPAN class="L0S52"&gt;BADI &lt;/SPAN&gt;lr_data_provision&lt;/SPAN&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;&lt;SPAN class="L0S55"&gt;returns Badi (A).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;We got now the requirement that - in special cases - not Badi (A) should be called. Instead&amp;nbsp; Badi (B) should be called.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a special ABAP statement where I can overwrite the implementing class in &lt;SPAN style="font-family: courier new,courier;"&gt;lr_data_provision?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Mario&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 11:19:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408104#M1925663</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-12-11T11:19:17Z</dc:date>
    </item>
    <item>
      <title>Re: call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408105#M1925664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would suggest the following approach to implement this requirement using the strategy pattern.&lt;/P&gt;&lt;P&gt;1.) Implement one BAdI S. This is the BAdI that is active in the BAdI customizing.&lt;/P&gt;&lt;P&gt;2.) Inside S check for you special case. If the special case is present call implementation class B, otherwise call implementation class A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way you don't need any modifications or something like this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Christian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 11:24:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408105#M1925664</guid>
      <dc:creator>ceedee666</dc:creator>
      <dc:date>2015-12-11T11:24:57Z</dc:date>
    </item>
    <item>
      <title>Re: call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408106#M1925665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you not place the code in one BADI with a conditional expression:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if condition badi a &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; code which is in badi a&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;elseif condition badi b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; code which is in badi b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 11:25:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408106#M1925665</guid>
      <dc:creator>PeterJonker</dc:creator>
      <dc:date>2015-12-11T11:25:17Z</dc:date>
    </item>
    <item>
      <title>Re: call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408107#M1925666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Christian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;nice approach!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would you tell me how to/which ABAP statement&amp;nbsp; to use to call e.g. the implementation of BADI (B)&lt;/P&gt;&lt;P&gt;Unfortunatelly the BADI has no constuctor; I guess that is the SAP intention.&lt;/P&gt;&lt;P&gt;A BADI is compareable to a factory; That is, why you habe to use the &lt;SPAN style="font-family: courier new,courier;"&gt;GET &lt;SPAN class="L0S52"&gt;BADI &lt;/SPAN&gt;&lt;/SPAN&gt; statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Mario&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 11:35:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408107#M1925666</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-12-11T11:35:56Z</dc:date>
    </item>
    <item>
      <title>Re: call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408108#M1925667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you missunderstoud my question.&lt;/P&gt;&lt;P&gt;Instead of calling BADI (A) (wich is customized as implementation) I want to call BADI (B).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards Mario&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 11:37:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408108#M1925667</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-12-11T11:37:26Z</dc:date>
    </item>
    <item>
      <title>Re: call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408109#M1925668</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario,&lt;/P&gt;&lt;P&gt;the BAdI is implemented using a class that implements a certain interface. Simply instantiate the BAdI implementation class in your custom code. So instead of GET BADI simply use data badi_ref = new &amp;lt;badi implementation class&amp;gt;.&lt;/P&gt;&lt;P&gt;The only drawback I see for this approach is that you code against a specific class implementation not against a specific BAdI implementation. That means if e.G. SAP changes teh implementation class used to implement BAdI Implementation X from Class cl_badi_impl_1 to cl_badi_impl_2 your code would still invoke cl_badi_impl_1. However, I see this a merely a theoretical issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Christian &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 12:10:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408109#M1925668</guid>
      <dc:creator>ceedee666</dc:creator>
      <dc:date>2015-12-11T12:10:45Z</dc:date>
    </item>
    <item>
      <title>Re: call different badi implementation although is not multiple use</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408110#M1925669</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;I already coded a variant of your suggestion!&lt;/P&gt;&lt;P&gt;Works fine!&lt;/P&gt;&lt;P&gt;10 Points!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Dec 2015 12:13:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/call-different-badi-implementation-although-is-not-multiple-use/m-p/11408110#M1925669</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-12-11T12:13:09Z</dc:date>
    </item>
  </channel>
</rss>

