Skip to Content
Author's profile photo vidyasagar panchaxarimath

ABAP Workflow For Beginners: Working with Multiple Condition

Introduction:This document will help one to understand the use of Multiple Condition

                         step in Workflow Builder.


Note:1) The following document is suitable for beginners to understand the working of

              multiple condition step in workflow.

         2) If you have already read my other documents of ABAP Workflow For Beginners

               then, you will find some of the explanations repeated in this document.This is done

              deliberately to provide completeness to the document.


Steps:

1) Go to Transaction code ‘SWDD’ and we can see the following screen.

   a) SWDD is the Transaction code where we can build a workflow.

first_screen.PNG

2) Click on the ‘create new workflow’ button which is on the top left of the screen as shown below.

New Workflow.PNG


3) Now our workflow builder screen looks as shown below.

   a) By clicking on ‘create new workflow’ button the workflow step layout will be reset to the initial stage.

new workflow screen.PNG

4) Now we have to right click on ‘undefined for new step’ as shown below and click on

    create or double click on it.

    a) ‘Undefined- Double-click for new step’ allows us to create required steps in sequence.

    b) This decides the flow of processes in our workflow.

selecting step.PNG

5) Now a popup window will appear as shown below consisting of different step types for selection.

   a) In ‘step selection’ window we get steps to select depending on our business logic.

   b) For Example: If we want to send a mail then, we have to select ‘Send Mail’ step.    

step types.PNG


6) First Select the Loop (Until) step.

    a) If we want to process a step more than once then, we can use Loop(Until) step.

     b) This step loop, until the condition given in loop step is true.

loop step select.PNG


7) Screen of the loop(until) looks as shown below.

Loop screen.PNG


8) Now on the left hand side of the screen we can see a button choice,we have to choose

     ‘Workflow Container’ and double click on the blue space highlighted below.


   a) Container element contains 4 tabs.

          i)  D.type(Data Type).

         ii)  Properties.

         iii) Initial Value.

         iv) Change Data.

workflow_container_double_click.PNG


9) Now below screen shows the pop-up to create container element.

    a) ‘D.type’ tab provides of three options for data type declaration.


         i) Object type:                    Here we can choose Business object or Class as data type.


        ii) ABAP Dict.Reference:  Here we can use ABAP Dictionary structure along with

                                                    required field as data type.


        iii) ABAP Dict. Data Type: Here we can use ABAP dictionary data elements or

                                                      datatypes for data types declaration.

workflow_container_popup_first.PNG


10) Now we have to click on ‘Properties’ tab in the pop-up and fill it as shown below.

      Check on both importing and exporting check boxes.

       a) Here we can set the property of the parameter(Container Element) being created.

       b) Properties like:     Importing, Exporting, Mandatory can be applied.

       c) Multiline property: This property if checked allows to insert multiple entries

                                           (Internal table like) into the element create.

workflow_container_popup_properties.PNG


11) Now we have to click on ‘Initial Value’ tab and fill the counter as ‘3’.

        a) Initial value tab allows us to initialise the element.

workflow_container_popup_initial_value.PNG


12) Now click on the OK button and an element will be created as shown below.

        a) Here double arrow marks in the front ‘LV_COUNTER’ element created means,

            it has both import and export parameter checked.

ok_button.PNG

workflow_container_element.PNG


13) Now we have to give the step name of the Loop(Until) screen and click on

      ‘Click here to create a new condition’ to create a ‘loop end condition’.

condition click.PNG


14) The popup window of the loop condition looks as shown below.

        a) In this popup we have sections of

           i) Operators:Here we choose the ‘Relational operator’ applicable for our

                                 expression.

                         Example: = , >= etc.


           ii) Logic       :Here we choose the ‘Logical operator’ applicable for our

                                 expression.

               Example: AND ,OR  etc.


          iii) Constant :This section provides space to enter numeric or alphabetical

                                  values as applicable for our expression.

               Example: 1,2,3,a ,b,c etc.

           iv) Parentheses: Adding Parentheses(After comment) to the expression

                                        created is done using this section.

         

           v) Expression 1 and Description section: Here we can choose system fields

                                                                                   and Workflow container elements

                                                                                   for our expression.


           vi) Condition: This is the space provided to prepare condition expression/s

                                      for our loop.

                                                         

loop Condition popup.PNG


15) Now we have to give the condition and click on ok.

loop Condition popup_expression.PNG


16) Now the loop step screen looks as follows.

        a) Below condition means this loop step will complete(End) once the variable

           LV_COUNTER’s value is ‘0’.

loop Condition_first screen.PNG


17) Now go back to the first screen and save workflow builder.

workflow_after_loop_save.PNG


18) Now right click on loop branch and click on ‘create…’ option.

       a) Here we can create and include the steps in loop branch as shown below.

       b) Steps included inside the loop branch will be processed in loops until loop ends. 

loop_creat_click.PNG


19) We have to select ‘Multiple Condition’ step to create multiple branches

        for execution on different conditions.

step_select_multiple condition.PNG


20)Multiple condition step.

       a) First we have to enter ‘step name’.

       b) Select type as ‘Switch’.

       c) And create conditions as shown below.


Here we are creating three conditions.

1) First reminder(a branch created in workflow layout with the same description)

     is sent if the value of counter (lv_counter) is 3.


2) Second reminder(a branch created in workflow layout with the same description)

     is sent if the value of counter (lv_counter) is 2.


3) Third reminder(a branch created in workflow layout with the same description)

     is sent if the value of counter (lv_counter) is 1.

multiple condition first screen.PNG


  d) To fill the condition section follow the steps as shown below. Condtion_in multiple condition.PNG

   1) First enter the outcome name.

    2) Then click on the condition to provide the condition necessary to execute this branch.

    3) Now just refer steps 14 and 15 to prepare expression for each outcome.

   4) Conditions provided to each outcome will be shown in condition preview column,


  e) Also provide other value outcome name.

   1) Here we can handle condition which does match any of the conditions defined in

       Comparison table.

   2) It just acts like when others in ‘case statement use in an ABAP code’.

other values in multple conditions.PNG

 

  f) Now save this step and go back to workflow layout screen.


Multiple condition in layout.PNG


21) Now next process will be creating ‘send mail steps’ for all the three reminders.

   A) Refer step 19 and select the ‘Send Mail’ step.


   B) ‘Send Mail’ Step.

      a) In mail step there is a tab named ‘Mail’.

      b) Here we have Recipients section:


            i) Recipient types: Recipient type will allow us to choose recipients

                                            depending on Organisation Unit,job,position,

                                            work center or user.


            ii) We can also choose recipients as ‘WF initiator’

                (Workflow initiator- the user who starts the workflow).


            iii) Expression:Here we can browse the workflow container element

                                      which will hold email addresses of the valid recipients

                                      during runtime.


  C) Now Create the ‘Send Mail’ step in First Reminder branch as shown below.

send_mail.PNG

D) Follow same steps to create ‘Send Mail’ steps for Reminder 2 and Remainder 3.


22) Now the workflow layout looks as shown below.

loop_with miltiple condition.PNG


23) Our final step will be to create ‘Container Operation step’ to decrement the counter

        ‘LV_COUNTER’.


   A) Now refer the step 19 to create the ‘Container Operation step’.


  B) First view of ‘Container operation’ step looks as follows.

        a) In this step we have to fill step name, outcome name etc.

        b) There is a check box to include or exclude this step in workflow log(After execution).


       Container_operation_first_screen.PNG

 

C) Now we have to fill the decrement expression in ‘Operation’ section

       as shown below.

        a) Here we are decrementing the value count of the variable ‘LV_COUNTER’

            (Initial value is ‘3’).

        b) Result Element:Result Element is the variable or Parameter in which

                                         result is stored after calculation.


        c) Assignment:This section provides  ‘=’ and ‘<-‘ symbols to assign to result.


        d) Expression Section: Here we can provide an ‘Workflow Container’ element

                                                 or we can directly assign numeric values.

       e) Operator Section: This section consists of ‘Arithmetic Operators’ which we

                                            can assign to the expression.

                                            Examples: +,-,/,*.    

Container_operation_expression.PNG

D) Save it and go back to workflow layout.

whole workflow.PNG

     

24) As our initial value of  the counter is ‘LV_COUNTER = 3’, this loop will execute for three

        times and all three reminders will be sent to WF_INITIATOR’s Inbox( T code: SBWP).


25) Check, Save and Activate.

check.PNG

activate.PNG


26) Now workflow is ready to execute.


Conclusion:Now we know how to create a workflow using step type Multiple Condition

                        step.























         

Assigned Tags

      9 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Nice and easy to understand for beginners

      Author's profile photo Mike Pokraka
      Mike Pokraka

      I am going to try to keep my comments positive, but I have to admit it's not easy.

      Firstly, you need to provide some context in your blogs:

      Why are we trying to do XYZ? The person whom you are aiming your blog at has no idea what a multiple condition step is. You don't explain it, or give any hint of why they would even be interested in it. (and the example is not one where I would use a multiple condition step anyway).

      Secondly, you need to get to the point. You start a blog about multiple condition types and then start explaining how to create a workflow and the first thing you do is add a loop. The reader needs to get two thirds of the way through to step 19 (yes nineteen!!!!) to get the first glimpse of the topic of the blog.

      Thirdly, think about your audience. What level are you pitching at and is the content suitable? Think about it: If someone doesn't know how which button to click to create a workflow (as you go to great lengths to explain), why would they be interested in a multiple condition step? Either you don't need to explain how to create a workflow, or you're selling the wrong thing to the wrong audience.

      Please take this as constructive, I wouldn't take the time to write this if I wasn't trying to help. I really think you need to have a look at some of the other blogs and have a good think about your presentation. It's not even about English skills (which are OK), but the basic ideas and flow need some work.

      Author's profile photo vidyasagar panchaxarimath
      vidyasagar panchaxarimath
      Blog Post Author

      Hi Mike,

      Thank you for commenting.

      Yes I Understand what you are trying to tell.I take things always constructively.I know I have not done the best document ever.But my intention of preparing this document is, it must be understood by a beginner.So I have explained all the things that are involved in creation of an workflow including multiple condition.

      Thank you again for your views on my document and I am really pleased that you gone through the complete documentation, I always try to improve myself with every documentation.Yes, I will definitely go through other blogs/documents to improve the flow of my presentation.

      I bet my next document will be better than this.

      Author's profile photo Hao Shi
      Hao Shi

      You both are good!

      Author's profile photo Ginger Gatling
      Ginger Gatling

      Nice blog!

      Author's profile photo SAP PMO
      SAP PMO

      very nice blogs..thank u

       

      Author's profile photo Former Member
      Former Member

      Hi,

      I had never seen any blog on this topic. But still, I've learned a lot with your explanations and the contexts that were given.

      Thank you!

      Author's profile photo Former Member
      Former Member

      Hi ,

      Thank you for this blog . I

      Author's profile photo Sathish Kumar Sidhaiyan
      Sathish Kumar Sidhaiyan

      Well Explained Document...