<?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: Methods Vs FM in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048248#M421934</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;well classes and function modules are quite different and should be used for different things. For example classes allow you to model the "real-world" more easily in your program and also provide better encapsulation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However from my understanding methods cannot be called in a transactional context. So if you want to access the database in a transactional way (long transactions...) you have to use function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Furthermore from what I know there is currently no way to call a method remotely (Java for example has RMI). So if you know that you want to call the functionality from different servers a function module might be a better choice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From my experience you can often see a mixture between function modules and classes. For example when I need persistence logic I usually create a class which bundles all the persistence logic. But inside the class most of the actual database interaction is done via function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 17 Mar 2007 09:24:21 GMT</pubDate>
    <dc:creator>thomasalexander_ritter</dc:creator>
    <dc:date>2007-03-17T09:24:21Z</dc:date>
    <item>
      <title>Methods Vs FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048247#M421933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please clarify my query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been using some of the methods in Objects (can also be done by using Functional Modules).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For an effective OO programming , the usage of functional modules are acceptable or not?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Mar 2007 07:01:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048247#M421933</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-17T07:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: Methods Vs FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048248#M421934</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;well classes and function modules are quite different and should be used for different things. For example classes allow you to model the "real-world" more easily in your program and also provide better encapsulation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However from my understanding methods cannot be called in a transactional context. So if you want to access the database in a transactional way (long transactions...) you have to use function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Furthermore from what I know there is currently no way to call a method remotely (Java for example has RMI). So if you know that you want to call the functionality from different servers a function module might be a better choice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From my experience you can often see a mixture between function modules and classes. For example when I need persistence logic I usually create a class which bundles all the persistence logic. But inside the class most of the actual database interaction is done via function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Mar 2007 09:24:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048248#M421934</guid>
      <dc:creator>thomasalexander_ritter</dc:creator>
      <dc:date>2007-03-17T09:24:21Z</dc:date>
    </item>
    <item>
      <title>Re: Methods Vs FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048249#M421935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 17 Mar 2007 09:32:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048249#M421935</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-17T09:32:45Z</dc:date>
    </item>
    <item>
      <title>Re: Methods Vs FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048250#M421936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;one basic difference is in Methods you cannot use internal tables with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;everything same as of a FM, expect that it uses OO concept.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Mar 2007 16:59:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048250#M421936</guid>
      <dc:creator>aakash_neelaperumal2</dc:creator>
      <dc:date>2007-03-19T16:59:38Z</dc:date>
    </item>
    <item>
      <title>Re: Methods Vs FM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048251#M421937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Raja,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Object oriented programming is mainly used when we need to cater to the requirement of simulating characteristics and behaviour of mulitple instants (or real life objects) of a specific type (class). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is this advantage of multiple instantiation that leads us to use classes and objects. A class has atrributes and methods to describe characteristics and behaviour of real life entities respectively. Inside your method implementation if required you can use function modules, there is nothing wrong in that, but function modules should not be written as independent modularisation unit in a program written completely in object oriented manner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 more thing - function groups and function modules support encapsulation - a property of object oriented programming - global data of function group can be accessed only by function modules of that function group - but function groups and function modules do not support multiple instantiation unlike classes in object oriented programming. So if you need multiple instantiation you should use classes and methods instead of function groups and function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this clarifies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Indrajit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Mar 2007 15:59:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/methods-vs-fm/m-p/2048251#M421937</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-03-21T15:59:29Z</dc:date>
    </item>
  </channel>
</rss>

