<?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: Workflow exception handling in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394788#M3767714</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the directions, as far as I understand, there is no some workflow / system built-in approach to throw exception (e.g. &lt;STRONG&gt;&lt;EM&gt;NO_AGENTS_ASSUMED&lt;/EM&gt;&lt;/STRONG&gt;) each time when there is no available agent. And the only way to do so is manual development?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding to «generic agent determination step», should I implement it as separate &lt;STRONG&gt;&lt;EM&gt;Condition step&lt;/EM&gt;&lt;/STRONG&gt;, where a successful result will continue the process execution and the fail will throw an exception? Or just add a desired method to the existed &lt;STRONG&gt;&lt;EM&gt;User Decision&lt;/EM&gt;&lt;/STRONG&gt; step and there throw an exception, which will be catched by &lt;STRONG&gt;&lt;EM&gt;Local Workflow&lt;/EM&gt;&lt;/STRONG&gt;?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Jul 2014 18:28:56 GMT</pubDate>
    <dc:creator>MikeB</dc:creator>
    <dc:date>2014-07-21T18:28:56Z</dc:date>
    <item>
      <title>Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaq-p/10394786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Workflow Community,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my workflow project I have a task to implement an exception handling for the case when there is no any agent for &lt;STRONG&gt;&lt;EM&gt;User Decision&lt;/EM&gt;&lt;/STRONG&gt; step. In order to do that, I can implement a method in my &lt;STRONG&gt;&lt;EM&gt;BOR&lt;/EM&gt;&lt;/STRONG&gt; that will check for agent and if there is no such, then an exception will be thrown. After that I can catch it in a &lt;STRONG&gt;&lt;EM&gt;Local Workflow&lt;/EM&gt;&lt;/STRONG&gt; via &lt;STRONG&gt;&lt;EM&gt;Local Events&lt;/EM&gt;&lt;/STRONG&gt; of workflow's &lt;STRONG&gt;&lt;EM&gt;Version-Dependent&lt;/EM&gt;&lt;/STRONG&gt; settings. The problem is that I have to add this check / handle to every user decision step and there are a lot of such steps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My question is there any better way to deal with exceptions, where you don't need to pass over all workflows steps and manually add the call of the method, which will raise an exception in case of lack of suitable agent?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2014 12:26:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaq-p/10394786</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-21T12:26:23Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394787#M3767713</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;G'Day Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've done similar things before, and a good approach is to build yourself a generic agent determination step, pull the agents into the WF and validate whether agents exist. This could even done using a common subWF which is also used to maintain agents (if you want to go the extra mile, you can even do some funky stuff like decide whether it's an HR or business function and route accordingly).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The exact approach depends on your setup. For example if you have lots of rules, your custom method will have importing parameters for a rule name (AC90000324) and generic container elements as parameters. Or you can have importing elements matching all your rules that will be calling the method (here it makes sense to use the same element names for all rules - not Plant in one and Plnt in another and WERKS in the next one) and only bind those which are relevant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are many ways to approach this, hope this gives you some ideas.&lt;/P&gt;&lt;P&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>Mon, 21 Jul 2014 12:48:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394787#M3767713</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-21T12:48:51Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394788#M3767714</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the directions, as far as I understand, there is no some workflow / system built-in approach to throw exception (e.g. &lt;STRONG&gt;&lt;EM&gt;NO_AGENTS_ASSUMED&lt;/EM&gt;&lt;/STRONG&gt;) each time when there is no available agent. And the only way to do so is manual development?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding to «generic agent determination step», should I implement it as separate &lt;STRONG&gt;&lt;EM&gt;Condition step&lt;/EM&gt;&lt;/STRONG&gt;, where a successful result will continue the process execution and the fail will throw an exception? Or just add a desired method to the existed &lt;STRONG&gt;&lt;EM&gt;User Decision&lt;/EM&gt;&lt;/STRONG&gt; step and there throw an exception, which will be catched by &lt;STRONG&gt;&lt;EM&gt;Local Workflow&lt;/EM&gt;&lt;/STRONG&gt;?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2014 18:28:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394788#M3767714</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-21T18:28:56Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394789#M3767715</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The closest thing is the 'Terminate if rule has no result' checkbox for a rule. If it's not checked, the step has no agents, if checked, it goes into error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;No what I mean is a separate container operation or workflow step where you call a custom method (e.g. ZCL_WF_RULE-&amp;gt;EVALUATE if you use rules) to do your agent determination. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result populates a multiline container element 'AGENTS' in your workflow. The next step can be a condition where you check if the agents table is empty, if not proceed to your 'real' step (decision, whatever) where you use the AGENTS element as your agent. If it is empty, you can raise an event or get as creative as you like (e.g. my last post). If you have a perfectly good workflow engine, why not use it to maintain your agents...&lt;/P&gt;&lt;P&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>Mon, 21 Jul 2014 19:21:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394789#M3767715</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-21T19:21:34Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394790#M3767716</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;In the method where you are determining the agents fill a flag for agents found and keep it blank for no agents found and export that flag in to the workflow template with agents container. Add a condition step to check variable is NE expression and raise exception in that case. As you said you have multiple user decision steps then are those using the same agents container or agents container keeps on changing for every user decision step. If they use the same container have this flag checked right below the agent determination method and if you are using multiple containers for agents with different values then you have to add the exception blocks in all those instances where decisions steps are used.&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;Sandip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2014 20:05:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394790#M3767716</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-07-21T20:05:33Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394791#M3767717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No, flag not needed. Just check if agents exist.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2014 20:19:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394791#M3767717</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-21T20:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394792#M3767718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mike,&lt;/P&gt;&lt;P&gt;How will work flow engine know that there are no agents selected either multiline work flow container has to be checked in the work flow template or like i said a flag can be set to read it in the template and decide what to do.&lt;/P&gt;&lt;P&gt;Please Correct me if I am wrong.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sandip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2014 20:25:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394792#M3767718</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-07-21T20:25:35Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394793#M3767719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sandip, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I said above - "check if the agents table is empty". You then propose the use of an agents container AND a flag. Why do we need an additional flag? Unnecessary container elements occupy space in the DB and add complexity. &lt;/P&gt;&lt;P&gt;Just check the agents container directly. If it contains agents we have agents, if it's empty we don't. Therefore I say flag not needed.&lt;/P&gt;&lt;P&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>Mon, 21 Jul 2014 20:52:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394793#M3767719</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-21T20:52:37Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394794#M3767720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One more technical question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I defined the method &lt;STRONG&gt;&lt;EM&gt;AgentAssignChecker()&lt;/EM&gt;&lt;/STRONG&gt; inside of BOR, this method gets the agent name from agent container of workflow via binding, checks its value and if it is blank, we want to throw an exception. For this reason I defined the message &lt;STRONG&gt;&lt;EM&gt;9010&lt;/EM&gt;&lt;/STRONG&gt; in a message class (&lt;STRONG&gt;&lt;EM&gt;SE91&lt;/EM&gt;&lt;/STRONG&gt;), now I throw it with code: &lt;STRONG&gt;&lt;EM&gt;EXIT_RETURN 9010 space space space space&lt;/EM&gt;&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The question is how and where should I catch this exception in the workflow?&lt;/P&gt;&lt;P&gt;In &lt;STRONG&gt;&lt;EM&gt;Version-Dependent&lt;/EM&gt;&lt;/STRONG&gt; events settings or in &lt;STRONG&gt;&lt;EM&gt;User Decision&lt;/EM&gt;&lt;/STRONG&gt; events settings?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Jul 2014 21:08:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394794#M3767720</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-22T21:08:18Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394795#M3767721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why use a method? Workflow steps are expensive, just check it in a condition. The operator CE or EX should work. Two branches, one means you have something in there, the other means it's empty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or else your agent determination step can raise the exception. If you enable the exception in the WF builder (step outcomes), it adds another branch. In there you can add a raise event step. &lt;/P&gt;&lt;P&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>Tue, 22 Jul 2014 21:48:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394795#M3767721</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-22T21:48:43Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394796#M3767722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check out the link &lt;A href="http://wiki.scn.sap.com/wiki/display/ABAP/Exception+handling+in+Workflows"&gt;http://wiki.scn.sap.com/wiki/display/ABAP/Exception+handling+in+Workflows&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So in you case define the exceptions in the version dependent tab settings.&lt;/P&gt;&lt;P&gt;Add a condition step right after your agent determination step in workflow template.&lt;/P&gt;&lt;P&gt;Check if no agents found add a process control block to raise exception.&lt;/P&gt;&lt;P&gt;Please let me know if you need more details.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 00:06:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394796#M3767722</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-07-23T00:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394797#M3767723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the suggestion to use &lt;STRONG&gt;&lt;EM&gt;Condition&lt;/EM&gt;&lt;/STRONG&gt; + &lt;STRONG&gt;&lt;EM&gt;Process Control&lt;/EM&gt;&lt;/STRONG&gt; in order to implement my task, it looks right. But there is one moment that can be problematic in this approach — maintainability.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Suppose, in my workflow there are a lot of places, where I have to add an agent assignment verification (the process is dynamic, where the agent detection logic depends on outcomes of previous steps). Let say, I implement your suggestion and add conditions to relevant places. One day, there is a need to change the agent verification logic, in case of condition-based approach I'll have to pass over all conditions and do it manually, while in case of BOR-method I change it only one time in specific place and the change will begin to work immediately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it significant enough aspect to bear it in mind?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 09:41:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394797#M3767723</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-23T09:41:30Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394798#M3767724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As far as I know &lt;STRONG&gt;&lt;EM&gt;Condition&lt;/EM&gt;&lt;/STRONG&gt; let you check the specific value of container attribute with the following operators: &lt;STRONG&gt;&lt;EM&gt;EX, NX, CE, NE, AND, OR, NOT&lt;/EM&gt;&lt;/STRONG&gt; and in order to check if the attribute &lt;STRONG&gt;&lt;EM&gt;IS NOT INITIAL&lt;/EM&gt;&lt;/STRONG&gt; and contains the data, I have to use &lt;STRONG&gt;&lt;EM&gt;Container Operation&lt;/EM&gt;&lt;/STRONG&gt; step, where to calculate the length of the attribute's value, store the result in container variable and only then check its value in &lt;STRONG&gt;&lt;EM&gt;Condition&lt;/EM&gt;&lt;/STRONG&gt; step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any more smart way to check if container attribute (both, single and multi-line) contains the data?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 11:01:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394798#M3767724</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-23T11:01:05Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394799#M3767725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Not sure if you understood correctly. If you have a single generic method of determining agents then maintainability is no issue. Thus: &lt;/P&gt;&lt;P&gt;1. Determine agents&lt;/P&gt;&lt;P&gt;2. Is table populated?&lt;/P&gt;&lt;P&gt;3a. If no, engage whatever process&lt;/P&gt;&lt;P&gt;3b. If yes, proceed to dialog step&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The condition just checks if you have agents. CE = Contains elements = Table has entries. Or use NE ' '. Test and see what works in your setup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If step 1 above is a dedicated WF task then you don't even need a condition, but can just create two outcomes by defining and raising an exception.&lt;/P&gt;&lt;P&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, 23 Jul 2014 11:31:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394799#M3767725</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-23T11:31:25Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394800#M3767726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I actually got it as:&lt;/P&gt;&lt;P&gt;1. Define additional &lt;STRONG&gt;&lt;EM&gt;Condition&lt;/EM&gt;&lt;/STRONG&gt; step&lt;/P&gt;&lt;P&gt;2. In condition field set the following expression: «&lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; CE 1&lt;/EM&gt;&lt;/STRONG&gt;»&lt;/P&gt;&lt;P&gt;3. If it's &lt;STRONG&gt;&lt;EM&gt;True&lt;/EM&gt;&lt;/STRONG&gt;, then continue, otherwise throw an exception.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I understand, operator &lt;STRONG&gt;&lt;EM&gt;CE&lt;/EM&gt;&lt;/STRONG&gt; (Table Contains Rows) should return &lt;STRONG&gt;&lt;EM&gt;True&lt;/EM&gt;&lt;/STRONG&gt; if the multiline container contains rows (e.g. in step #2, described above, there should be one row in order to get &lt;STRONG&gt;&lt;EM&gt;True&lt;/EM&gt;&lt;/STRONG&gt;), otherwise &lt;STRONG&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/STRONG&gt;. But in my case operator &lt;STRONG&gt;&lt;EM&gt;CE&lt;/EM&gt;&lt;/STRONG&gt; always returns &lt;STRONG&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/STRONG&gt;, no matter if there are rows in the container or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I'm doing wrong?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 13:10:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394800#M3767726</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-23T13:10:03Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394801#M3767727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mike,&lt;/P&gt;&lt;P&gt;How are you using the expression «&amp;amp;agents_cont&amp;amp; CE 1» in the condition step?&lt;/P&gt;&lt;P&gt;You should always use the F4 help or double click on the conditions space that pops up the screen with all the workflow containers and then choose the required container that you are using to fill the &lt;BR /&gt;agents or the container that contains the agents name at runtime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try «&amp;amp;agents_cont&amp;amp; CE 1» NX&lt;/P&gt;&lt;P&gt;which means no expression in container element to check if this is initial.&lt;/P&gt;&lt;P&gt;Let me know if you need more details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sandip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 13:33:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394801#M3767727</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-07-23T13:33:15Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394802#M3767728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sandip,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the way I build the condition expression:&lt;BR /&gt;1. Double click on &lt;STRONG&gt;&lt;EM&gt;Condition&lt;/EM&gt;&lt;/STRONG&gt; step in workflow template.&lt;/P&gt;&lt;P&gt;2. Double click on condition text area.&lt;/P&gt;&lt;P&gt;3. The following window will be opened:&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/504476" width="450" /&gt;&lt;/P&gt;&lt;P&gt;4. Here I choose desired container.&lt;/P&gt;&lt;P&gt;5. For the operator column pick &lt;STRONG&gt;&lt;EM&gt;CE&lt;/EM&gt;&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;6. In the column «Express. 2» I set 1, for the test case.&lt;/P&gt;&lt;P&gt;7. Press on green «V».&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's all, after that you'll exactly the same expression I posted above.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suppose, that operator &lt;STRONG&gt;&lt;EM&gt;CE&lt;/EM&gt;&lt;/STRONG&gt; have to check if the container table has a rows and if I set the number after this operator, the expression will check if the container has exactly number of rows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, I don't really understand where should I type this &lt;STRONG&gt;&lt;EM&gt;NX&lt;/EM&gt;&lt;/STRONG&gt;? In which column?&lt;BR /&gt;As you mentioned above, the expression «&lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; CE 1 NX&lt;/EM&gt;&lt;/STRONG&gt;» will mean: «&lt;EM&gt;no expression in container element to check if this is initial&lt;/EM&gt;», as I understand it, the container will not be checked if it is initial. Could you, please, elaborate in what circumstance it will return the &lt;STRONG&gt;&lt;EM&gt;True&lt;/EM&gt;&lt;/STRONG&gt; and when &lt;STRONG&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/STRONG&gt;?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In bottom line, my condition expression has to return &lt;STRONG&gt;&lt;EM&gt;True&lt;/EM&gt;&lt;/STRONG&gt; if the container if full and otherwise &lt;STRONG&gt;&lt;EM&gt;False&lt;/EM&gt;&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 17:04:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394802#M3767728</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-23T17:04:40Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394803#M3767729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the condition is your first step, where does &amp;amp;agents_cont&amp;amp; get it's values from?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Actually I was wrong about CE. Contains Element ==&amp;gt; search table for the value you specify. So as you have no agent named '1', it will always be false.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, if the condition is your first step, where does &amp;amp;agents_cont&amp;amp; get it's values from?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could try EX (exists) and NX (not exists). SAP has a funny way of distinguishing between empty (exists in container with a blank value) versus nonexistent (hasn't been bound or assigned, therefore not in container), so some experimentation is necessary. Also try combinations of = '', =' ', &amp;gt;'', &amp;gt;' '. One of these is bound to work!&lt;/P&gt;&lt;P&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, 23 Jul 2014 17:23:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394803#M3767729</guid>
      <dc:creator>pokrakam</dc:creator>
      <dc:date>2014-07-23T17:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394804#M3767730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;«&lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; NX should be used.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/505270" width="450" /&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;This will check if there are any elements inside or not.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;You do not have to give&amp;nbsp; «&lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; CE 1 NX&lt;/EM&gt;&lt;/STRONG&gt;».&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;So&amp;nbsp; «&lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; CE 1 NX&lt;/EM&gt;&lt;/STRONG&gt;»&lt;/EM&gt;&lt;/STRONG&gt;&lt;EM&gt; becomes&amp;nbsp; «&lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; NX&lt;/EM&gt;&lt;/STRONG&gt;»&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Wich means there are no agents inside.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;So your outcomes at the bottom should have True &amp;amp; False.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;If above expression is true it means you do not have any agents so do exception handling and if&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;if it is false it has agents follow decision step.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Regards,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Sandip&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jul 2014 12:53:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394804#M3767730</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-07-24T12:53:48Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow exception handling</title>
      <link>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394805#M3767731</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's working!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The expression &lt;STRONG&gt;&lt;EM&gt;&amp;amp;agents_cont&amp;amp; NX&lt;/EM&gt;&lt;/STRONG&gt; returns &lt;STRONG&gt;&lt;EM&gt;TRUE&lt;/EM&gt;&lt;/STRONG&gt; if the container is empty, otherwise &lt;STRONG&gt;&lt;EM&gt;FALSE&lt;/EM&gt;&lt;/STRONG&gt;. In other words, &lt;STRONG&gt;&lt;EM&gt;NX&lt;/EM&gt;&lt;/STRONG&gt; is equal to &lt;STRONG&gt;&lt;EM&gt;is empty&lt;/EM&gt;&lt;/STRONG&gt; check.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2014 08:15:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/workflow-exception-handling/qaa-p/10394805#M3767731</guid>
      <dc:creator>MikeB</dc:creator>
      <dc:date>2014-07-30T08:15:41Z</dc:date>
    </item>
  </channel>
</rss>

