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.
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.
2) Click on the ‘create new workflow’ button which is on the top left of the screen as shown below.
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.
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.
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.
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.
7) Screen of the loop(until) looks as shown below.
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).
iii) Initial Value.
iv) Change Data.
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.
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.
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.
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.
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’.
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
Example: = , >= etc.
ii) Logic :Here we choose the ‘Logical operator’ applicable for our
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.
15) Now we have to give the condition and click on ok.
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’.
17) Now go back to the first screen and save workflow builder.
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.
19) We have to select ‘Multiple Condition’ step to create multiple branches
for execution on different conditions.
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.
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
2) It just acts like when others in ‘case statement use in an ABAP code’.
f) Now save this step and go back to workflow layout screen.
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
C) Now Create the ‘Send Mail’ step in First Reminder branch as shown below.
D) Follow same steps to create ‘Send Mail’ steps for Reminder 2 and Remainder 3.
22) Now the workflow layout looks as shown below.
23) Our final step will be to create ‘Container Operation step’ to decrement the 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).
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.
D) Save it and go back to workflow layout.
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.
26) Now workflow is ready to execute.
Conclusion:Now we know how to create a workflow using step type Multiple Condition