<?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: Types of Parallel Processing in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860499#M1475662</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;Hope this link will help you &lt;A href="http://wiki.sdn.sap.com/wiki/display/Snippets/Copy" target="test_blank"&gt;http://wiki.sdn.sap.com/wiki/display/Snippets/Copy&lt;/A&gt;&lt;EM&gt;of&lt;/EM&gt;ABAP&lt;EM&gt;Code&lt;/EM&gt;for&lt;EM&gt;Parallel&lt;/EM&gt;Cursor&lt;EM&gt;-&lt;/EM&gt;Loop+Processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Pravin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 May 2010 09:56:30 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2010-05-12T09:56:30Z</dc:date>
    <item>
      <title>Types of Parallel Processing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860498#M1475661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi SDNites,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a requiremnet where I have huge amount of data in my internal table and we want that data to be processed using parallel processing. Can you please let me know what are the different ways using which I can meet my objective.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please provide me details with some example as I&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Abhi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 May 2010 09:20:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860498#M1475661</guid>
      <dc:creator>itabhishek9</dc:creator>
      <dc:date>2010-05-12T09:20:44Z</dc:date>
    </item>
    <item>
      <title>Re: Types of Parallel Processing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860499#M1475662</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;Hope this link will help you &lt;A href="http://wiki.sdn.sap.com/wiki/display/Snippets/Copy" target="test_blank"&gt;http://wiki.sdn.sap.com/wiki/display/Snippets/Copy&lt;/A&gt;&lt;EM&gt;of&lt;/EM&gt;ABAP&lt;EM&gt;Code&lt;/EM&gt;for&lt;EM&gt;Parallel&lt;/EM&gt;Cursor&lt;EM&gt;-&lt;/EM&gt;Loop+Processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Pravin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 May 2010 09:56:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860499#M1475662</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-05-12T09:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: Types of Parallel Processing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860500#M1475663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for replying Pravin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My question is related to parallel processing and not parallel cursor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Abhi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 May 2010 10:00:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860500#M1475663</guid>
      <dc:creator>itabhishek9</dc:creator>
      <dc:date>2010-05-12T10:00:44Z</dc:date>
    </item>
    <item>
      <title>Re: Types of Parallel Processing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860501#M1475664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;[CALL FUNCTION .. STARTING NEW TASK|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_STARTING.htm] is probably what you're looking for. This basically allows you to do parallel processing, where you can still return the results of your processing back to your &lt;EM&gt;main driver program&lt;/EM&gt; ([calling/performing .. on end of task|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_STARTING.htm#!ABAP_ADDITION_2@2@]). If you don't need that, you could use any of the [RFC call types|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_DESTINATION-.htm] other than (obviously) &lt;EM&gt;synchronous RFC&lt;/EM&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With the &lt;EM&gt;asynchronous RFC&lt;/EM&gt; you have good features for limiting/configuring resource consumption ([destination in group|http://help.sap.com/abapdocu_70/en/ABAPCALL_FUNCTION_STARTING.htm#!ABAP_ADDITION_1@1@]).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only other option I'm aware of would be to have a &lt;EM&gt;driver program&lt;/EM&gt; that creates multiple background jobs (a technique that you can also see in some of the standard SAP applications).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyhow, if your individual parallel processing units require some general post-processing routine that works on the &lt;EM&gt;combined/all&lt;/EM&gt; results, you'd need some trigger (i.e. [semaphore|http://en.wikipedia.org/wiki/Semaphore_%28programming%29]) for that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another interesting challenge for parallel processing is to handle error recovery, i.e. to ensure that you don't have to redo all processing if one part fails. Depending on your process/requirements that probably ranges from trivial to awkward.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers, harald&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 May 2010 10:20:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860501#M1475664</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-05-12T10:20:13Z</dc:date>
    </item>
    <item>
      <title>Re: Types of Parallel Processing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860502#M1475665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the in-depth description.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also can you please tell me whether the parallel processing requirement can be done using FM (JOB_OPEN / JOB_CLOSE). If yes how can that be done?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Abhi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 May 2010 13:23:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860502#M1475665</guid>
      <dc:creator>itabhishek9</dc:creator>
      <dc:date>2010-05-12T13:23:55Z</dc:date>
    </item>
    <item>
      <title>Re: Types of Parallel Processing</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860503#M1475666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also can you please tell me whether the parallel processing requirement can be done using FM (JOB_OPEN / JOB_CLOSE). If yes how can that be done?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Yes, it can be done this way, that's what I was referring to when I mentioned &lt;EM&gt;multiple background jobs&lt;/EM&gt;. If you're not familiar with how to do it, check out the ABAP online help on the [SUBMIT .. VIA JOB|http://help.sap.com/abapdocu_70/en/ABAPSUBMIT_VIA_JOB.htm] statement, which also contains a short example. A more in-depth and good description of your options can be found in the online help [Programming with the Background Processing System|http://help.sap.com/saphelp_nw70ehp2/helpdata/en/fa/096c53543b11d1898e0000e8322d00/frameset.htm]. Here you can also find example programs for the RFC &lt;EM&gt;and&lt;/EM&gt; the background job approach: [Implementing parallel processing|http://help.sap.com/saphelp_nw70ehp2/helpdata/en/fa/096e92543b11d1898e0000e8322d00/frameset.htm].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I personally think the RFC option has the major advantage that you have already a built-in capability for managing resource consumption (using RFC server groups). I'm not aware that you get this for free with background jobs (though if you have long-running tasks you cannot use RFC, because they are executed in dialog processes and thus face the same maximum runtime limit as normal dialog users).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyhow, in theory your task is rather simple, though of course the actual technical implementation can be quite challenging: Essentially you're trying to implement a [divide and conquer algorithm|http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm], a real prominent example is Google's [MapReduce framework|http://en.wikipedia.org/wiki/MapReduce] (has nothing to do with ABAP, but the concept is of course valid and can be found nowadays in many applications).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So you &lt;EM&gt;just&lt;/EM&gt; need to find a way to split-up your problem into smaller sub-problems, which you then solve individually. Should you have the need for a final step that combines all individual results (the reduce step in Google's framework), you would need with background jobs an approach for figuring out if all job steps are done (so essentially a [semaphore|http://en.wikipedia.org/wiki/Semaphore_%28programming%29] or [fork-join queue|http://en.wikipedia.org/wiki/Fork-join_queue], however you want to look at it).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 May 2010 19:00:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/types-of-parallel-processing/m-p/6860503#M1475666</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-05-12T19:00:11Z</dc:date>
    </item>
  </channel>
</rss>

