<?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: Parallel processing using ABAP objects in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483962#M1419397</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You might use the function module 'SPTA_PARA_PROCESS_START_2' for parallel processing. See demo report 'SPTA_PARA_DEMO_1' for details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edit: The function module internally uses ABAP objects, to do the handling. Maybe you can reuse the relevant sections, to build your own object based task handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Carsten Grafflage on Jan 6, 2010 2:52 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Jan 2010 13:45:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2010-01-06T13:45:49Z</dc:date>
    <item>
      <title>Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483958#M1419393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello friends,&lt;/P&gt;&lt;P&gt;                    I had posted in the performance tuning forum , regarding a performance issue problem , I am reposting it as it involves OO concept .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the link for the previous posting &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Link: [&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1565686"&gt;&lt;/A&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the scenario,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a internal table with 10 records(indepentent) , and i need to process them .The processing of one record doesnt have any influence on the another . When we go for loop , the performance issue is that , the 10 th record has to wait until the 9 records get processed even though there is no dependency on the output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could some one tell a way out to improve the performance..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If i am not clear with the question , i would explain it still clearer...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A internal table has 5 numbers , say( 1,3,4,6,7) &lt;/P&gt;&lt;P&gt;we are trying to find square of each number ,,,&lt;/P&gt;&lt;P&gt;If it is a loop the finding of suare of 7 has to wait until 6 is getting completed and it is waste of time ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is related to parallel processing , I have refered to parallel processing documents,But I want to do this conceptually ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not using conventional procedural paradigm but &lt;STRONG&gt;Object orientedness&lt;/STRONG&gt;...I am having a method which is performing this action .What am I supposed to do in that regard.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comradely ,&lt;/P&gt;&lt;P&gt;K.Sibi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Dec 2009 13:14:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483958#M1419393</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-12-24T13:14:57Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483959#M1419394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;As far as I know, in SAP parallel processing means background processing. You easily can cick of 10 process which will to your calculations in parallel to each other and you program will react  until all have finished. In addtion you could at a timer so you can check once in a while if all is done?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this what you are looking for?&lt;/P&gt;&lt;P&gt;Rene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 27 Dec 2009 15:45:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483959#M1419394</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-12-27T15:45:03Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483960#M1419395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You will need to put your method call in a function module. The function module has to be "Remote-Enabled Module".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an example based on your internal table with numbers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The function module does the SQRT( ) calculation but this can be your own method call as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FUNCTION ZEVP_PARA.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     VALUE(IV_INDEX) TYPE  I
*"     VALUE(IV_VALUE) TYPE  I
*"  EXPORTING
*"     VALUE(EV_SQRT) TYPE  F
*"----------------------------------------------------------------------

  ev_sqrt = sqrt( iv_value ).

ENDFUNCTION.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following program calls the function module asynchronously in separate tasks. The task id is used as an index to the internal table. Also the internal table index is passed to the FM in case a more complex logic needs to be built.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The WAIT UNTIL statement waits until all tasks are completed or a 30 second time out passes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This code is very rough and should not be used in a productive environment. One concern is what if the internal table gets too large. You will kill your application server if you start too many tasks. You will need to code around that problem. Also a tight error handling would be required to make your code more robust.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Edward Pelyavskyy on Dec 30, 2009 1:00 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Dec 2009 23:59:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483960#M1419395</guid>
      <dc:creator>former_member207438</dc:creator>
      <dc:date>2009-12-29T23:59:46Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483961#M1419396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  ZEVP_PARA.

class lcl_app definition final.
  public section.
    types:
      begin of ts_value,
        value type i,
        sqrt type f,
      end of ts_value,

      tt_value type standard table of ts_value.
    class-methods:
      main,
      on_task_complete
        importing p_task type clike.
    class-data:
      gt_value type tt_value read-only.
  private section.
    class-data:
      gv_tasksStarted type i,
      gv_tasksCompleted type i.
endclass.

class lcl_app implementation.
  method main.
    data:
      ls_value type ts_value,
      lv_task type c length 5.

    " Populate the test data
    ls_value-value = 100.
    append ls_value to gt_value.

    ls_value-value = 200.
    append ls_value to gt_value.

    " Calculate SQRT in parallel
    loop at gt_value into ls_value.
      lv_task = sy-tabix. " A unique task id

      call function 'ZEVP_PARA'
        starting new task lv_task
        destination in group default
        calling on_task_complete on end of task
      exporting
        iv_index = sy-tabix
        iv_value = ls_value-value
      exceptions
        communication_failure  = 1
        system_failure         = 2
        others                 = 3.

      if sy-subrc = 0.
        " The number of tasks started
        gv_tasksStarted = gv_tasksStarted + 1.
      endif.
    endloop.

    wait until gv_tasksCompleted = gv_tasksStarted
    up to 30 seconds.

    if sy-subrc ne 0.
      write: / 'WAIT ERROR:', sy-subrc.
    endif.

    loop at gt_value into ls_value.
      write: / sy-tabix, ls_value-value, ls_value-sqrt.
    endloop.
  endmethod.

  method on_task_complete.
    data:
      lv_sqrt type f,
      lv_index type i.
    field-symbols:
      &amp;lt;lf_value&amp;gt; type ts_value.

    gv_tasksCompleted = gv_tasksCompleted + 1.
    receive results from function 'ZEVP_PARA'
      importing
        ev_sqrt = lv_sqrt
      exceptions
        communication_failure  = 1
        system_failure         = 2
        others                 = 3.

    if sy-subrc &amp;lt;&amp;gt; 0.
      " Error processing
    else.
      lv_index = p_task.
      read table gt_value assigning &amp;lt;lf_value&amp;gt;
      index lv_index.

      if sy-subrc = 0.
        &amp;lt;lf_value&amp;gt;-sqrt = lv_sqrt.
      endif.
    endif.

  endmethod.
endclass.

start-of-selection.
  lcl_app=&amp;gt;main( ).
&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Dec 2009 00:17:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483961#M1419396</guid>
      <dc:creator>former_member207438</dc:creator>
      <dc:date>2009-12-30T00:17:58Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483962#M1419397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You might use the function module 'SPTA_PARA_PROCESS_START_2' for parallel processing. See demo report 'SPTA_PARA_DEMO_1' for details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edit: The function module internally uses ABAP objects, to do the handling. Maybe you can reuse the relevant sections, to build your own object based task handler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Carsten Grafflage on Jan 6, 2010 2:52 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jan 2010 13:45:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483962#M1419397</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-01-06T13:45:49Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483963#M1419398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Helllo Edward Pelyavskyy and Carsten Grafflage ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your valuable inputs.&lt;/P&gt;&lt;P&gt;I am still keepin the thread open so that I could get more inputs in that regard as it is more of a general question and not solution to a specific problem .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comradely,&lt;/P&gt;&lt;P&gt;K.Sibi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Jan 2010 05:07:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483963#M1419398</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-01-07T05:07:46Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483964#M1419399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is a parallel processing framework in the SAP standard. Refer to component CA-GTF-TS-PPM,&lt;/P&gt;&lt;P&gt;ot look in package BANK_PP_JOBCTRL. Unfortunately,  I am not aware of any thorough documentation for this.&lt;/P&gt;&lt;P&gt;-- Sebastian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jan 2010 12:51:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483964#M1419399</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-01-13T12:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483965#M1419400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sebastian ,&lt;/P&gt;&lt;P&gt;                          &lt;/P&gt;&lt;P&gt;Thank you for the help. Could you elobarate a little more .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comradely,&lt;/P&gt;&lt;P&gt;K.SIbi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jan 2010 13:19:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483965#M1419400</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-01-13T13:19:34Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483966#M1419401</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;As examplified by Edward, there is no RFC/asynchronous support for Methods of ABAP Objects as such. You would indeed need to "wrap" your method or ABAP Object in a Function Module, that you can then call with the addition "STARTING NEW TASK". Optionally, you can define a Method that will process the results of the Function Module that is executed asynchronously, as demonstrated as well in Edward's program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You do need some additional code to avoid the situation where your program takes all the available resources on the Application Server. Theoretically, you cannot bring the server or system down, as there is a system profile parameter that determines the maximum number of asynchronous tasks that the system will allow. However, in a productive environment, it would be a good idea to limit the number of asynchronous tasks started from your program so that other programs can use some as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function Group SPBT contains a set of Function Modules to manage parallel processing. In particular, FM SPBT_INITIALIZE will "initialize" a Server Group and return the maximum number of Parallel Tasks, as well as the number of free ones at the time of the initialization. The other FM of interest is SPBT_GET_CURR_RESOURCE_INFO, that can be called after the Server Group has been initialized, whenever you want to "fork" a new asynchronous task. This FM will give you the number of free tasks available for Parallel Processing at the time of calling the Function Module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is a code snippet showing how these Function Modules could be used, so that your program always leaves a minimum of 2 tasks for Parallel Processing, that will be available for other programs in the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF md_parallel IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        IF md_parallel_init IS INITIAL.&lt;/P&gt;&lt;P&gt;*----- Server Group not initialized yet =&amp;gt; Initialize it, and get the number of tasks available&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'SPBT_INITIALIZE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            GROUP_NAME                           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              max_pbt_wps                          = ld_max_tasks&lt;/P&gt;&lt;P&gt;              free_pbt_wps                         = ld_free_tasks&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              invalid_group_name                   = 1&lt;/P&gt;&lt;P&gt;              internal_error                       = 2&lt;/P&gt;&lt;P&gt;              pbt_env_already_initialized          = 3&lt;/P&gt;&lt;P&gt;              currently_no_resources_avail         = 4&lt;/P&gt;&lt;P&gt;              no_pbt_resources_found               = 5&lt;/P&gt;&lt;P&gt;              cant_init_different_pbt_groups       = 6&lt;/P&gt;&lt;P&gt;              OTHERS                               = 7.&lt;/P&gt;&lt;P&gt;          md_parallel_init = 'X'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;*----- Server Group initialized =&amp;gt; check how many free tasks are available in the Server Group&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      for parallel processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          CALL FUNCTION 'SPBT_GET_CURR_RESOURCE_INFO'&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              max_pbt_wps                 = ld_max_tasks&lt;/P&gt;&lt;P&gt;              free_pbt_wps                = ld_free_tasks&lt;/P&gt;&lt;P&gt;            EXCEPTIONS&lt;/P&gt;&lt;P&gt;              internal_error              = 1&lt;/P&gt;&lt;P&gt;              pbt_env_not_initialized_yet = 2&lt;/P&gt;&lt;P&gt;              OTHERS                      = 3.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF ld_free_tasks GE 2.&lt;/P&gt;&lt;P&gt;*----- We have at leasr 2 remaining available tasks =&amp;gt; reserve one&lt;/P&gt;&lt;P&gt;          ld_taskid = ld_taskid + 1.&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;You may also need to program a WAIT statement, to wait until all asynchronous tasks "forked" from your program have completed their processing. Otherwise, you might find yourself in the situation where your main program has finished its processing, but some of the asynchronous tasks that it started are still running. If you do not need to report on the results of these asynchronous tasks, then that is not an issue. But, if you need to report on the success/failure of the processing performed by the asynchronous tasks, you would most likely report incomplete results in your program. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the example where you have 10 entries to process asynchronously in an internal table, if you do not WAIT until all asynchronous tasks have completed, your program might report success/failure for only 8 of the 10 entries, because your program has completed before the asynchronous tasks for entries 9 and 10 in your internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Given the complexity of Parallel Processing, you would only consider it in a customer program for situations where you have many (ie, thousands, if not tens of thousands) records to process, that the processing for each record tends to take a long time (like creating a Sales Order or Material via BAPI calls), and that you have a limited time window to process all of these records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, whatever your decision is, good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jan 2010 17:00:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483966#M1419401</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-01-13T17:00:12Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483967#M1419402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am marking this thread as unanswered , though I have given the fianl reply by  Philippe Remy 10 points , because I wanted further more inputs on this from the community and I did not want to give Philippe Remy mere 2 points when he has taken pain to give such a long reply .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Requesting the moderators to allow users to have atleast 3 very helpful answers per thread !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comradely ,&lt;/P&gt;&lt;P&gt;K.Sibi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: sibi k  kanagaraj on Jan 14, 2010 9:53 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jan 2010 08:48:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483967#M1419402</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-01-14T08:48:35Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483968#M1419403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There is a project in Code Exchange that does Object Oriented Threading in ABAP:&lt;/P&gt;&lt;P&gt;&lt;A href="https://cw.sdn.sap.com/cw/groups/abap-threading" target="test_blank"&gt;https://cw.sdn.sap.com/cw/groups/abap-threading&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if this fulfills your requirement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Dec 2011 03:49:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483968#M1419403</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-12-08T03:49:55Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel processing using ABAP objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483969#M1419404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Halo Sibi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Parallel processing can be used to improve the perfomance but it has got its own short comings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can create seperate remote enabled FMs and call them  asynchronously to process the individual records asynchronously. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can even pass objects to the Remote enabled FM. This is done by serializing the object and passing it to the FM . Inside the FM you can deserialize the object and call its methods&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Most improtantly you should use the WAIT statement for the synchronisation of the asynchronously called FMs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Arshad&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Dec 2011 14:32:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-using-abap-objects/m-p/6483969#M1419404</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-12-11T14:32:27Z</dc:date>
    </item>
  </channel>
</rss>

