<?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 with Open Cursor / Fetch Command in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593574#M1567560</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;it hurts, please read:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP LUW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As a rule, an application program is processed by multiple work processes in succession, and &lt;STRONG&gt;every change of the work process is linked to an implicit database commit.&lt;/STRONG&gt; This means that an application program is not automatically associated with a single database LUW. This applies in particular to dialog-oriented applications, in which one database LUW is assigned to one dialog step. &lt;/P&gt;&lt;P&gt;(&lt;A href="http://help.sap.com/abapdocu_702/en/index.htm"&gt;SAP LUW&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Implicit Database Commits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A work process can only execute a single database LUW. The consequence of this is that a work process must always end a database LUW when it finishes its work for a user or an external call. Work processes trigger an implicit database commit in the following situations:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        When a dialog step is completed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control changes from the work process back to the SAP GUI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        &lt;STRONG&gt;When a function module is called in another work process (RFC).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control passes to the other work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        &lt;STRONG&gt;When the called function module (RFC) in the other work process ends.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control returns to the calling work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        When a WAIT statement interrupts the work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control passes to another work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        &lt;STRONG&gt;Error dialogs (information, warning, or error messages) in dialog steps.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control passes from the work process to the SAP GUI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(&lt;A href="http://help.sap.com/saphelp_nw73/helpdata/en/41/7af4bca79e11d1950f0000e82de14a/frameset.htm"&gt;Database Logical Unit of Work (LUW)&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The understanding of SAP LUW, Database Logical Unit of Work (LUW) and respective bundling techniques is essential when you try things like that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the system works correct, the dump should quote an unhandled and unhandable exception - The dump is not relevant at all in this case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Jan 2011 23:09:33 GMT</pubDate>
    <dc:creator>Clemenss</dc:creator>
    <dc:date>2011-01-04T23:09:33Z</dc:date>
    <item>
      <title>Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593569#M1567555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am working on a project with BI/BW.   I'm working with a program where the database has millions of records and could gradually increase over time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The idea is to use parallel processing to speed up processing time.  I can not select from the table without using "fetch" because it would cause a short dump.  (That's how large the table is.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I read a blog about parallel processing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/people/adam.baryla/blog/2010/12/22/optimizing-abap-programs-performance-with-parallel-processing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I thought - perfect!  That's what we need.  However, when starting FM in a new task.  &amp;lt;DUMP&amp;gt;.   Reading the documentation on open cursor it looked like the dump could be solved by simply using the "with hold" addition.   That didn't work either.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the problem code:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
      OPEN CURSOR WITH HOLD lc_data FOR
        SELECT doc_number AS doc_num
             s_ord_item AS doc_item
             sched_line
             salesorg
             distr_chan
             div_head AS division
             sold_to
             material
             crm_trpid
             FROM (f_table)
             WHERE sold_to IN lr_customer.

  ASSIGN lt_result_copa TO &amp;lt;fs_odsdata&amp;gt;.
  DO.
    FETCH NEXT CURSOR lc_data
              APPENDING CORRESPONDING FIELDS
              OF TABLE lt_output_copa
              PACKAGE SIZE 2000.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      CLOSE CURSOR lc_data.
      EXIT.
    ENDIF.

    LOOP AT lt_output_copa ASSIGNING &amp;lt;fs_out_copa&amp;gt;.
      l_tabix = sy-tabix.
      l_trpid = &amp;lt;fs_out_copa&amp;gt;-crm_trpid.
      REFRESH lt_output_tmp.
      MOVE-CORRESPONDING &amp;lt;fs_out_copa&amp;gt; TO ls_result_copa .
      ls_result_copa-/bic/zc_trpid  = &amp;lt;fs_out_copa&amp;gt;-crm_trpid.
      APPEND ls_result_copa TO lt_output_tmp.
      CLEAR &amp;lt;fs_out_copa&amp;gt;-crm_trpid.
      DO.
        cal = l_called_jobs - l_recvd_jobs .
        " IF cal LE 4.
        CALL FUNCTION 'Z_GET_TERRITORY_NEW'
          STARTING NEW TASK taskname
          DESTINATION IN GROUP group
          PERFORMING copa_return_info ON END OF TASK
          EXPORTING
            salesorg              = &amp;lt;fs_out_copa&amp;gt;-salesorg
            distr_chan            = &amp;lt;fs_out_copa&amp;gt;-distr_chan
            division              = &amp;lt;fs_out_copa&amp;gt;-division
            customer              = &amp;lt;fs_out_copa&amp;gt;-customer
            material              = &amp;lt;fs_out_copa&amp;gt;-material
            busgrp                = &amp;lt;fs_out_copa&amp;gt;-g_cwwbus
            minor                 = &amp;lt;fs_out_copa&amp;gt;-g_cwwmin
            minorsub              = &amp;lt;fs_out_copa&amp;gt;-g_cwwsub
          TABLES
            t_sorg                = lt_sorg
            t_customer            = lt_customer
          CHANGING
            copa                  = ls_result_copa
          EXCEPTIONS
            communication_failure = 1
            system_failure        = 2
            resource_failure      = 3
            no_territory          = 4
            OTHERS                = 5.
        IF sy-subrc = 0.
          l_called_jobs = l_called_jobs + 1.
          taskname = taskname + 1.
          EXIT.
        ELSEIF sy-subrc = 3.
          WAIT UNTIL l_recvd_jobs &amp;gt;= l_called_jobs UP TO '9' SECONDS.
        ENDIF.
        " ENDIF.
      ENDDO.
      WAIT UNTIL l_recvd_jobs &amp;gt;= l_called_jobs UP TO 30 SECONDS.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Michelle&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 20:08:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593569#M1567555</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-04T20:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593570#M1567556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dump message ???&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 21:09:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593570#M1567556</guid>
      <dc:creator>kesavadas_thekkillath</dc:creator>
      <dc:date>2011-01-04T21:09:39Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593571#M1567557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Michelle,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I love it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read the documentation about SAP LUW, Database LUW and processes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may then find out, that every asynchronous function call as your&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;CALL FUNCTION 'Z_GET_TERRITORY_NEW'
          STARTING NEW TASK taskname&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;triggers an implicit database commit. &lt;/P&gt;&lt;P&gt;I can understand the database that it will cause a dump if FETCH NEXT CURSOR is called after the database commit just closed all open cursors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I saw a blog about parallel processing recently and I remember SAP standard processing in contract accounting: They both do some kind of pre-selection of blocks before and then sending out the blocks in parallel processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think there is no better way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S.: If you need the links to relevant documentation, let me know. Too lazy right now.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 22:38:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593571#M1567557</guid>
      <dc:creator>Clemenss</dc:creator>
      <dc:date>2011-01-04T22:38:11Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593572#M1567558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You need to identify if the dump is related to the cursor selects or the parallel processing. Comment out the use of the FM and run the program again. That way you will be able to focus on the problem better. If there is no dump the problem must be in how you have coded the PP stuff.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 22:42:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593572#M1567558</guid>
      <dc:creator>former_member186741</dc:creator>
      <dc:date>2011-01-04T22:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593573#M1567559</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't think that you have to use cursors to process large volumes of data. The standard Select itself has a Package size option so the code could be remodelled to use that instead. I'm not sure if it would solve your problem but it may be worth a try.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, with your code snippet it's unclear if you are resetting the table that you are fetcing into. You are 'appending' each package into the same internal table. Unless you have a 'clear'  outside the snippet the table will be growing with each fetch which is not what you want.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 22:57:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593573#M1567559</guid>
      <dc:creator>former_member186741</dc:creator>
      <dc:date>2011-01-04T22:57:25Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593574#M1567560</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;it hurts, please read:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAP LUW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As a rule, an application program is processed by multiple work processes in succession, and &lt;STRONG&gt;every change of the work process is linked to an implicit database commit.&lt;/STRONG&gt; This means that an application program is not automatically associated with a single database LUW. This applies in particular to dialog-oriented applications, in which one database LUW is assigned to one dialog step. &lt;/P&gt;&lt;P&gt;(&lt;A href="http://help.sap.com/abapdocu_702/en/index.htm"&gt;SAP LUW&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Implicit Database Commits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A work process can only execute a single database LUW. The consequence of this is that a work process must always end a database LUW when it finishes its work for a user or an external call. Work processes trigger an implicit database commit in the following situations:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        When a dialog step is completed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control changes from the work process back to the SAP GUI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        &lt;STRONG&gt;When a function module is called in another work process (RFC).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control passes to the other work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        &lt;STRONG&gt;When the called function module (RFC) in the other work process ends.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control returns to the calling work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        When a WAIT statement interrupts the work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control passes to another work process.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;·        &lt;STRONG&gt;Error dialogs (information, warning, or error messages) in dialog steps.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Control passes from the work process to the SAP GUI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(&lt;A href="http://help.sap.com/saphelp_nw73/helpdata/en/41/7af4bca79e11d1950f0000e82de14a/frameset.htm"&gt;Database Logical Unit of Work (LUW)&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The understanding of SAP LUW, Database Logical Unit of Work (LUW) and respective bundling techniques is essential when you try things like that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the system works correct, the dump should quote an unhandled and unhandable exception - The dump is not relevant at all in this case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jan 2011 23:09:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593574#M1567560</guid>
      <dc:creator>Clemenss</dc:creator>
      <dc:date>2011-01-04T23:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593575#M1567561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you everyone for your quick answers!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well - the programmer has decided to go a different way.  Yes, the database commits were what was giving us problems.  (Thank you Clemens)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once we have completed, I'll try to come back and post what we ended up doing.   &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again Thank you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Michelle&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jan 2011 12:02:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593575#M1567561</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-05T12:02:32Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593576#M1567562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;"Final" result is below and yes, I know nothing is ever final.   My friend Vinod Ellath is the actual author.  (I can name names now that is is working!)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FORM adjust_copa_data .
  DATA: cal TYPE i,
      lt_output_tmp    TYPE TABLE OF ls_output_copa.

  ASSIGN lt_result_copa TO &amp;lt;fs_odsdata&amp;gt;.
  DO.
    FETCH NEXT CURSOR lc_data
              APPENDING CORRESPONDING FIELDS
              OF TABLE lt_output_copa
              PACKAGE SIZE 2000.
    IF sy-subrc &amp;lt;&amp;gt; 0.
      CLOSE CURSOR lc_data.
      EXIT.
    ENDIF.

    LOOP AT lt_output_copa ASSIGNING &amp;lt;fs_out_copa&amp;gt;.
      l_tabix = sy-tabix.
      l_trpid = &amp;lt;fs_out_copa&amp;gt;-crm_trpid.
      REFRESH lt_output_tmp.
      MOVE-CORRESPONDING &amp;lt;fs_out_copa&amp;gt; TO ls_result_copa .
      ls_result_copa-/bic/zc_trpid  = &amp;lt;fs_out_copa&amp;gt;-crm_trpid.
      APPEND ls_result_copa TO lt_output_tmp.
      CLEAR &amp;lt;fs_out_copa&amp;gt;-crm_trpid.
      DO.
        cal = l_called_jobs - l_recvd_jobs .
        " IF cal LE 4.
        CALL FUNCTION 'Z_GET_TERRITORY_NEW'
          STARTING NEW TASK taskname
          DESTINATION IN GROUP group
          PERFORMING copa_return_info ON END OF TASK
          EXPORTING
            salesorg              = &amp;lt;fs_out_copa&amp;gt;-salesorg
            distr_chan            = &amp;lt;fs_out_copa&amp;gt;-distr_chan
            division              = &amp;lt;fs_out_copa&amp;gt;-division
            customer              = &amp;lt;fs_out_copa&amp;gt;-customer
            material              = &amp;lt;fs_out_copa&amp;gt;-material
            busgrp                = &amp;lt;fs_out_copa&amp;gt;-g_cwwbus
            minor                 = &amp;lt;fs_out_copa&amp;gt;-g_cwwmin
            minorsub              = &amp;lt;fs_out_copa&amp;gt;-g_cwwsub
          TABLES
            t_sorg                = lt_sorg
            t_customer            = lt_customer
          CHANGING
            copa                  = ls_result_copa
          EXCEPTIONS
            communication_failure = 1
            system_failure        = 2
            resource_failure      = 3
            no_territory          = 4
            OTHERS                = 5.
        IF sy-subrc = 0.
          l_called_jobs = l_called_jobs + 1.
          taskname = taskname + 1.
          EXIT.
        ELSEIF sy-subrc = 3.
          WAIT UNTIL l_recvd_jobs &amp;gt;= l_called_jobs UP TO '9' SECONDS.
        ENDIF.
        " ENDIF.
      ENDDO.
      WAIT UNTIL l_recvd_jobs &amp;gt;= l_called_jobs UP TO 30 SECONDS.
      DELETE lt_output_copa INDEX l_tabix.
    ENDLOOP.



FORM copa_return_info USING taskname.

  DATA: ls_result_copa_tmp     TYPE /bic/azcpa_o0300,
        lt_output_tmp          TYPE TABLE OF ls_output_copa.

  RECEIVE RESULTS FROM FUNCTION 'Z_GET_TERRITORY_NEW'
     IMPORTING
       crm_trpid          = ls_result_copa_tmp-crm_trpid
       crm_tr             = ls_result_copa_tmp-crm_tr
     CHANGING
       copa               = ls_result_copa_tmp
    EXCEPTIONS
       no_territory       = 1
       OTHERS             = 2.
  IF sy-subrc = 0.
*    IF ls_result_copa_tmp-crm_trpid  NE ls_result_copa_tmp-/bic/zc_trpid.
*      ls_result_copa_tmp-/bic/zctpathdt = sy-datum.
*      APPEND ls_result_copa TO lt_result_copa.
*    ENDIF.
  ENDIF.
*  l_recvd_jobs = l_recvd_jobs + 1.
ENDFORM.                    " COPA_RETURN_INFO
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jan 2011 14:55:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593576#M1567562</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-05T14:55:36Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593577#M1567563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi MIchelle, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I still can't believe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I thought that the for-the-time-being-final code looks suspiciously similar to the code in the original question, I took the chance to try the fantastic compare plug-in of the equally fantastic notepad++ editor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only differences are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;new lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FORM adjust_copa_data .
  DATA: cal TYPE i,
      lt_output_tmp    TYPE TABLE OF ls_output_copa.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;removed and now missing code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;OPEN CURSOR WITH HOLD lc_data FOR
        SELECT doc_number AS doc_num
             s_ord_item AS doc_item
             sched_line
             salesorg
             distr_chan
             div_head AS division
             sold_to
             material
             crm_trpid
             FROM (f_table)
             WHERE sold_to IN lr_customer.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also missing at the end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DELETE lt_output_copa INDEX l_tabix.
    ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I wonder what the 'new' approach actually is. You have still an implicit database commit while the datbase cursor is still open.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only chance to run this code succcessfully is if the fetched data will not reach the package size. But then, nothing will be done in parallel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just my personal thought: The best chance to gain performance by using parallel processing is to do the database access in the parallel function call. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could create a background job just to determine a number of pairs (from-to) for i.e. customer or material that will split your (f_table) in chunks of approximately equal size. This Job  puts the pairs in a user table. It is not time-critical, probably needs not a run each time you start the parallel thing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then loop at those pairs and pass one pair to each parallel function call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way, it is also my opinion that OPEN CURSOR / FETCH is kind of stone-age SAP. The database interface has improved since then. Nobody ever proved that CURSOR really speeds up anything, still it spreads an aura of DB wisdom &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I almost forgot that I posted [Easily implement parallel processing in online and batch processing|http://wiki.sdn.sap.com/wiki/display/Snippets/Easily&lt;EM&gt;implement&lt;/EM&gt;parallel&lt;EM&gt;processing&lt;/EM&gt;in&lt;EM&gt;online&lt;/EM&gt;and&lt;EM&gt;batch&lt;/EM&gt;processing] some years ago. Here I built the intervals on the fly, I remember that did not take much time. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, happy hacking!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jan 2011 16:22:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593577#M1567563</guid>
      <dc:creator>Clemenss</dc:creator>
      <dc:date>2011-01-05T16:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593578#M1567564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey now - &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I never said it was top of the line code.   With the latest and greatest way of coding.   &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;  We know it isn't.  The idea with the open cursor was to eliminate the short dump.  Which it did.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stone ages!  I also would welcome ideas for doing parallel processing a different way.  I don't usually play on the BI/BW system.  BI/BW is where they process HUGE amounts of data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for the code diferences - I just putting out what I was given.  Sorry about that guys.  I honestly did not look at it.  (Cut and paste is a dangerous thing.)  I'll see if I can get access to the BI system where this code is located to tell you the differences.  (if any)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Meanwhile - I'll take a look at the WIKI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the help!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Michelle&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Jan 2011 16:40:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593578#M1567564</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-01-05T16:40:50Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593579#M1567565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Michelle,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have the code that you fixed the short dump? I'm facing the same problem where there is short dump in the Fetch Next cursor code. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Appreciate if you could paste the code that you have fixed the problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2011 08:27:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593579#M1567565</guid>
      <dc:creator>former_member205424</dc:creator>
      <dc:date>2011-08-08T08:27:31Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593580#M1567566</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;Was anyone able to resolve this issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also need to update huge amount (around 3 million) of data in parallel process and fetch cursor is giving dump because of database commit during parallel process. I can not take whole data at once in internal table hence need to use fetch next cursor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Nilanjana&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Jun 2015 16:58:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593580#M1567566</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-15T16:58:20Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Processing with Open Cursor / Fetch Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593581#M1567567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, I also have the same problem.&lt;/P&gt;&lt;P&gt;What I see strange is that it works well if wireless, when thread fails,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can you help me?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;DO&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;REFRESH&amp;nbsp; &lt;/SPAN&gt;lti_ztcu0014[]&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN class="L0S31"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp; FETCH NEXT CURSOR s_cursor INTO TABLE p_ti_ztcu0014&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;FETCH &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;NEXT&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;CURSOR&amp;nbsp; &lt;/SPAN&gt;lo_cursor &lt;SPAN class="L0S52"&gt;INTO &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TABLE &lt;/SPAN&gt;lti_ztcu0014&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PACKAGE &lt;SPAN class="L0S52"&gt;SIZE &lt;/SPAN&gt;p_i_paquete&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;sy&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;subrc &lt;SPAN class="L0S52"&gt;NE &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0 &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;CLOSE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;CURSOR &lt;/SPAN&gt;lo_cursor&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;EXIT &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN class="L0S31"&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ".Creamos un ID UNICO para la tarea.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ADD &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;1 &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TO &lt;/SPAN&gt;lc_index&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;CONCATENATE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;text&lt;/SPAN&gt;&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;011 &lt;/SPAN&gt;lc_index &lt;SPAN class="L0S52"&gt;INTO &lt;/SPAN&gt;lc_taskname&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;CONDENSE &lt;/SPAN&gt;lc_taskname &lt;SPAN class="L0S52"&gt;NO&lt;/SPAN&gt;&lt;SPAN class="L0S70"&gt;-&lt;/SPAN&gt;GAPS&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;SET &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;UPDATE &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TASK &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;LOCAL&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;STRONG style="font-size: 13.3333330154419px;"&gt;NO FOUND&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S52"&gt;CALL &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FUNCTION &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ZCU_CREATE_BP'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;STARTING &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;NEW &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TASK &lt;/SPAN&gt;lc_taskname&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PERFORMING process_create_bp &lt;SPAN class="L0S52"&gt;ON &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;END &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;OF &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TASK&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;TABLES&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_bp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;lti_ztcu0014[]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_zttmdg02 &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;p_ti_zttmdg02[]&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 13.3333330154419px;"&gt;WORK&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN class="L0S52"&gt;CALL &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;FUNCTION &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'ZCU_CREATE_BP'&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;*&lt;SPAN class="L0S52"&gt;STARTING &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;NEW &lt;/SPAN&gt;&lt;SPAN class="L0S52"&gt;TASK &lt;/SPAN&gt;lc_taskname&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-size: 13.3333330154419px;"&gt;*PERFORMING process_create_bp &lt;/SPAN&gt;&lt;SPAN class="L0S52" style="font-size: 13.3333330154419px;"&gt;ON &lt;/SPAN&gt;&lt;SPAN class="L0S52" style="font-size: 13.3333330154419px;"&gt;END &lt;/SPAN&gt;&lt;SPAN class="L0S52" style="font-size: 13.3333330154419px;"&gt;OF &lt;/SPAN&gt;&lt;SPAN class="L0S52" style="font-size: 13.3333330154419px;"&gt;TASK&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;TABLES&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_bp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;lti_ztcu0014[]&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t_zttmdg02 &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;p_ti_zttmdg02[]&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S31"&gt;".Aumentamos en 1 el contador que indica cuantos procesos llevamos&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gi_procesos &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;gi_procesos + &lt;SPAN class="L0S32"&gt;1&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;IF &lt;/SPAN&gt;gi_procesos &amp;gt;= li_agrupador&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;WAIT &lt;/SPAN&gt;UNTIL gi_procesos &lt;SPAN class="L0S52"&gt;EQ &lt;/SPAN&gt;&lt;SPAN class="L0S32"&gt;0&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;SPAN class="L0S52"&gt;ENDDO&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2015 21:48:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/parallel-processing-with-open-cursor-fetch-command/m-p/7593581#M1567567</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-08-10T21:48:54Z</dc:date>
    </item>
  </channel>
</rss>

