<?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: OOPs? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259487#M489634</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;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;What is the difference between the function module and a normal ABAP/4 subroutine?&amp;lt;/b&amp;gt;In contrast to normal subroutines function modules have uniquely defined interface. &lt;/P&gt;&lt;P&gt;Sub routines do not return values.&lt;/P&gt;&lt;P&gt;Sub routines do not return exceptions.&lt;/P&gt;&lt;P&gt;Sub routines cannot be tested independently.&lt;/P&gt;&lt;P&gt;Declaring data as common parts is not possible for function modules. Function modules are stored in a central library.&lt;/P&gt;&lt;P&gt;Apart from those: &lt;/P&gt;&lt;P&gt;Subroutines :&lt;/P&gt;&lt;P&gt;1. You must have the same number of actual parameters as formal parameters , parameters are assigned in the sequence in which they are listed. &lt;/P&gt;&lt;P&gt;2. When you call a subroutine using PERFORM, the system checks whether the types of the actual parameters in the PERFORM statement are compatible with the formal parameters. &lt;/P&gt;&lt;P&gt;3. The interface is defined in the FORM routine. USING and CHANGING in the PERFORM statement are purely documentary. &lt;/P&gt;&lt;P&gt;4. Internal tables are passed without their work area. You therefore need to declare one using a local DATA statement. Internal Tables must be passed by TYPE.&lt;/P&gt;&lt;P&gt;Function Modules :&lt;/P&gt;&lt;P&gt;1.Function modules are external subroutines with a transparent interface, optional parameters are allowed.&lt;/P&gt;&lt;P&gt;2.Are central Repository objects, and are accessible system-wide. They are present as a set of function in a function module.&lt;/P&gt;&lt;P&gt;3. Are developed and tested using the Function Builder &lt;/P&gt;&lt;P&gt;4. Can be coded to RAISE exceptions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Regards,&lt;/P&gt;&lt;P&gt;jackie..&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 May 2007 05:43:44 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-24T05:43:44Z</dc:date>
    <item>
      <title>OOPs?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259485#M489632</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;What exactly the Diff between &amp;lt;b&amp;gt;FM&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Methods&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Subroutines&amp;lt;/b&amp;gt;?&lt;/P&gt;&lt;P&gt;What is the &amp;lt;b&amp;gt;use of OOP&amp;lt;/b&amp;gt;,If u say &amp;lt;b&amp;gt;performance&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;re-usability&amp;lt;/b&amp;gt;...same thing we can approch by using &amp;lt;b&amp;gt;Fm&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Subroutines&amp;lt;/b&amp;gt; in &amp;lt;b&amp;gt;normal ABAP&amp;lt;/b&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please clarify this..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Kishi.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 05:04:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259485#M489632</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T05:04:54Z</dc:date>
    </item>
    <item>
      <title>Re: OOPs?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259486#M489633</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;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;FM and Methods and Subroutines&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, they can both return values. &lt;/P&gt;&lt;P&gt;FMs are mainly used when a routine is to be performed by many programs. &lt;/P&gt;&lt;P&gt;Subroutines (forms) are generally only executed within one program.&lt;/P&gt;&lt;P&gt; You can perform routines from other programs, but it's not often done.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;both forms and FMs are reusable modularization units. &lt;/P&gt;&lt;P&gt;To distinguish we generally say that forms are used for internal modularization and &lt;/P&gt;&lt;P&gt;FMs are used for external modularization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To decide on which to implement, consider whether you need the content to be used just for a limited program&lt;/P&gt;&lt;P&gt; or wheteher it can be called from many independent programs. &lt;/P&gt;&lt;P&gt;For the first purpose it is better to implement a form whereas for the second we implement an FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, ABAP does not isolate the usage context. &lt;/P&gt;&lt;P&gt;That is; you can call a form from another program within whose code the form is not actually implemented.&lt;/P&gt;&lt;P&gt; However, this requires attention since the form may utilize global variables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same issue holds for FMs.&lt;/P&gt;&lt;P&gt; FMs are encapsulated in function groups and function groups may have global variables that can be globally &lt;/P&gt;&lt;P&gt;used by all FMs inside it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;&lt;/P&gt;&lt;P&gt;use of OOP,If u say performance and re-usability&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OOPS is more flexible. They are build upon 6 pillers which improves its performance aand re-usabilty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Chk this link.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.springerlink.com/index/h3u8105483400743.pdf" target="test_blank"&gt;http://www.springerlink.com/index/h3u8105483400743.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds&lt;/P&gt;&lt;P&gt;Anversha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 05:09:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259486#M489633</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2007-05-24T05:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: OOPs?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259487#M489634</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;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;What is the difference between the function module and a normal ABAP/4 subroutine?&amp;lt;/b&amp;gt;In contrast to normal subroutines function modules have uniquely defined interface. &lt;/P&gt;&lt;P&gt;Sub routines do not return values.&lt;/P&gt;&lt;P&gt;Sub routines do not return exceptions.&lt;/P&gt;&lt;P&gt;Sub routines cannot be tested independently.&lt;/P&gt;&lt;P&gt;Declaring data as common parts is not possible for function modules. Function modules are stored in a central library.&lt;/P&gt;&lt;P&gt;Apart from those: &lt;/P&gt;&lt;P&gt;Subroutines :&lt;/P&gt;&lt;P&gt;1. You must have the same number of actual parameters as formal parameters , parameters are assigned in the sequence in which they are listed. &lt;/P&gt;&lt;P&gt;2. When you call a subroutine using PERFORM, the system checks whether the types of the actual parameters in the PERFORM statement are compatible with the formal parameters. &lt;/P&gt;&lt;P&gt;3. The interface is defined in the FORM routine. USING and CHANGING in the PERFORM statement are purely documentary. &lt;/P&gt;&lt;P&gt;4. Internal tables are passed without their work area. You therefore need to declare one using a local DATA statement. Internal Tables must be passed by TYPE.&lt;/P&gt;&lt;P&gt;Function Modules :&lt;/P&gt;&lt;P&gt;1.Function modules are external subroutines with a transparent interface, optional parameters are allowed.&lt;/P&gt;&lt;P&gt;2.Are central Repository objects, and are accessible system-wide. They are present as a set of function in a function module.&lt;/P&gt;&lt;P&gt;3. Are developed and tested using the Function Builder &lt;/P&gt;&lt;P&gt;4. Can be coded to RAISE exceptions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Regards,&lt;/P&gt;&lt;P&gt;jackie..&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2007 05:43:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2259487#M489634</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-24T05:43:44Z</dc:date>
    </item>
  </channel>
</rss>

