<?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>Question Re: Dynamic Parallel Processing limitation in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116601#M4097682</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Agree with overall sentiment that this is not what parallel processing is designed for. It's for process parallelisations, whereas the point of your design seems to be more for performance reasons. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My approach would be to s&lt;SPAN style="font-size: 10pt;"&gt;ubmit one or more reports (can be triggered via event/WF), &lt;/SPAN&gt;which&lt;SPAN style="font-size: 10pt;"&gt; will update all related orders. Any failures raise an event, which in turn triggers a manual correction/processing workflow. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Regards, &lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 24 Jun 2015 18:01:52 GMT</pubDate>
    <dc:creator>pokrakam</dc:creator>
    <dc:date>2015-06-24T18:01:52Z</dc:date>
    <item>
      <title>Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaq-p/11116591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have a workflow that starts whenever a material change.&amp;nbsp; The workflow then finds all active PO's that are involved with this material and using the dynamic parallel processing feature, submits a subworkflow for each PO, to update it with the material changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The issue I'm having is that once the PO's reach 1000, workflow goes into error saying that it can only handle 999 parallel instances.&amp;nbsp; Is this a "set in stone" feature?&amp;nbsp; What can I do to process more than 999 instances?&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;Dan Stoicof&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 14:37:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaq-p/11116591</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-18T14:37:00Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116592#M4097673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Don't use dynamic parallel processing for 1000 entries. Or if you really need to do it, please explain the reason behind it. I would never do that kind of parallel processing inside a single workflow instance. Couldn't you handle this by starting 1000 separate workflows? Does the workflow need ti handle all the 1000 entries/cases/subworkflows (whatever) before the actual main workflow can be completed? If yes, why?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think there there is some kind of internal limit of 9999 nodes per workflow, but I have never seen if there is also a limit for 999 parallel instances. In any case I believe that you are right, and there is a limit. Anyhow, even if there wasn't such a limit of 999, I would still find an alternative solution to handle the functionality in some other way than using so many parallel instances.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Karri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 16:19:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116592#M4097673</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-18T16:19:50Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116593#M4097674</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can consider a change in design :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Read all the PO's related to the Material and approvers for these PO's in a background step in the workflow. Download a PO list as PDF or Excel and attach to single approval workitem or email step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once approved or notified; you can call another background step to update the PO with material changes.&lt;SPAN style="font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sandy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 23:05:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116593#M4097674</guid>
      <dc:creator>SandySingh</dc:creator>
      <dc:date>2015-06-18T23:05:24Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116594#M4097675</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;nbsp;&amp;nbsp; I am completely agree with Karri and Sandy. Change the design is the best option&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jun 2015 07:54:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116594#M4097675</guid>
      <dc:creator>anjan_paul</dc:creator>
      <dc:date>2015-06-19T07:54:57Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116595#M4097676</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you all for your responses.&amp;nbsp; I understand your position, to redesign the workflow. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me give you my take on this:&amp;nbsp; This workflow has no approvers, it's just meant to automate updating of PO's (and PR's) when the material changes.&amp;nbsp; I see no harm starting a dynamic parallel process for as many items as there are found.&amp;nbsp; The reason is that the volume is managed by the Event Queue.&amp;nbsp; This has been working just fine, with no issues what-so-ever.&amp;nbsp; That was until the workflow stopped because it reached the "limit" of 999 items (probably there is a 3 digit field defined somewhere).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I welcome your comments/suggestions.&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;Dan Stoicof&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jun 2015 17:21:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116595#M4097676</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-22T17:21:15Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116596#M4097677</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt; I see no harm starting a dynamic parallel process for as many items as there are found. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Even after you found out that it doesn't work?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt;The reason is that the volume is managed by the Event Queue.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How? Your workflow gets started by an event, right? That part is managed by the event queue. But once the workflow has started, I don't see how the event queue would be managing anything?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would definitely not use parallel processing in your scenario. Normally when you want to use parallel processing, there should be a reason for that (something needs to be done in parallel - for example an invoice should be approved simultaneously by several agents etc.). Why should the POs get updated in parallel? Why it cannot be done sequentially (which actually happens already even when you are using the parallel processing). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not actually sure if I would use the workflow at all - or at least not create individual work items for each and every PO/PR. Seems like unnecessary overhead for me to use workflow to handle this kind of mass update scenario.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Karri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jun 2015 18:16:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116596#M4097677</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-22T18:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116597#M4097678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Karri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To answer your question on how is the Event Queue used in this case . . .&amp;nbsp; The main workflow is started by a "material changed" event.&amp;nbsp; This starts a process that creates a list of all the PO's and PR's affected.&amp;nbsp; Using these 2 lists we start a subworkflow that basically gets invoked for each PO and/or PR found.&amp;nbsp; These subworkflows are registered with the Event Queue.&amp;nbsp; Using the Event Queue allows releasing of (currently) 50 workflows every 2 minutes.&amp;nbsp; This feature also allows for monitoring and ease of reprocessing in case of errors.&amp;nbsp; Who says that Dynamic Parallel processing is to be mainly used for approvals?&amp;nbsp; I can use Dynamic Parallel processing to speed up a process, which was my goal in this case.&amp;nbsp; Imagine doing 20 updates in parallel rather than in sequential mode, then multiply by several hundreds.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I welcome your suggestions, but in retrospect, I don't see how your solution (to process each item sequentially, outside the workflow) would be any better (how would you know which processes failed, how do you know if there are work processes out there available before releasing the next update, etc.).&amp;nbsp; We did not have a single error until recently (so the volume was below the max limit of 999), and I can certainly modify the workflow logic/process to break down the list into manageable chunks.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again, I thank you for your suggestions.&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;Dan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jun 2015 18:28:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116597#M4097678</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-23T18:28:18Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116598#M4097679</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;your problem is not a one, which should be solved by a Workflow at all.&lt;/P&gt;&lt;P&gt;Do your updates directly in the receiver-type function module instead, replacing the SWW_WI_CREATE_VIA_EVENT_IBF with a copy of that one, holding your own code that updates the PO directly. No Workflow.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best wishes&lt;/P&gt;&lt;P&gt;Florin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jun 2015 21:42:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116598#M4097679</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-23T21:42:58Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116599#M4097680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If your are concerned about error handling during update failure, then you can create a custom application log to log errors and send a email (with attached application log details) to Distribution list for action. You can also include the email step/decision step for error handling in the workflow&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
&lt;P&gt;I can certainly modify the workflow logic/process to break down the list into manageable chunks.&lt;/P&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I think it is good idea to package the PO's and PR's related to material into groups for processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sandy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jun 2015 00:03:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116599#M4097680</guid>
      <dc:creator>SandySingh</dc:creator>
      <dc:date>2015-06-24T00:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116600#M4097681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&lt;SPAN style="color: #333333; font-size: 12px;"&gt;Who says that Dynamic Parallel processing is to be mainly used for approvals?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well, I didn't. It was just an example. I have also used dynamic parallel processing for background steps/processes, but for a very limited amount of parallel "cases".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically I see only two ways out of this problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) The "manageable chunks" option. (Now I understand your usage of the event queue, and in certain way it makes much sense.) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Redesigning your solution. I certainly would not use the workflow - or at least not in the way you are using it. You will run into these internal limitations of the WF engine (from my point of view WF was not designed to be some kind of mass processor of things - at least when it involves creating lots of work items under one parent work item). Sandy gave you some great hints about the error handling part, if that is one of your concerns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One last question: Is it so that there could for example hundreds of material changed at the same time (by some background job, interface or whatever), and then each of these could cause a change to lots (hundreds) of PO/PRs. If this is the scenario, then this really gets interesting, and there is a great need for careful control of things...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Karri &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jun 2015 02:02:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116600#M4097681</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-24T02:02:00Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116601#M4097682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Agree with overall sentiment that this is not what parallel processing is designed for. It's for process parallelisations, whereas the point of your design seems to be more for performance reasons. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My approach would be to s&lt;SPAN style="font-size: 10pt;"&gt;ubmit one or more reports (can be triggered via event/WF), &lt;/SPAN&gt;which&lt;SPAN style="font-size: 10pt;"&gt; will update all related orders. Any failures raise an event, which in turn triggers a manual correction/processing workflow. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Regards, &lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jun 2015 18:01:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116601#M4097682</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2015-06-24T18:01:52Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic Parallel Processing limitation</title>
      <link>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116602#M4097683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you all for your valuable input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will go with the approach of submitting a batch job to do all the updates (using IDOCs).&amp;nbsp; This way there will be room for individual restart ability in case an IDOC update fails.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My regards to all . . .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dan &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jun 2015 18:12:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/dynamic-parallel-processing-limitation/qaa-p/11116602#M4097683</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2015-06-24T18:12:19Z</dc:date>
    </item>
  </channel>
</rss>

