=Paper=
{{Paper
|id=Vol-2698/paper17
|storemode=property
|title=Service Quotation Generation Using Robotic Process
Automation Technology
|pdfUrl=https://ceur-ws.org/Vol-2698/p17.pdf
|volume=Vol-2698
|authors=Agne Paulauskaite-Taraseviciene,Vilius Kerutis
|dblpUrl=https://dblp.org/rec/conf/ivus/Paulauskaite-Taraseviciene20
}}
==Service Quotation Generation Using Robotic Process
Automation Technology==
Service Quotation Generation Using Robotic Process
Automation Technology
Agne Paulauskaite-Tarasevicienea , Vilius Kerutisb
a Department of Applied Informatics, Faculty of Informatics, Kaunas University of Technology, Kaunas, Lithuania
b Faculty of Informatics, Kaunas University of Technology, Kaunas, Lithuania
Abstract
Robotic Process Automation (RPA) is one of the fastest growing segments in the enterprise IT space enabling the automation
of repetitive tasks performed by humans. RPA is usually applied to various business processes and activities in sales, customer
relationship management, support functions, etc. A service quotation generation (SQG) is a process often used in sales market
for creating a service quotation, tracking it, and, after acceptance, transferring it to a service order. SQG can be designed in
different ways and for different purposes, but in general it is repetitive and rule based process thus a good candidate for RPA.
In this paper RPA approach is proposed for automated service quotation generation. The time-effectiveness of the proposed
technology was tested with different amount of tasks (cases). Results obtained through automation are superior more than 2
times to those achieved by human labour.
Keywords
RPA, service quotation generation, robots, SAP, scripting technologies
1. Introduction Summarizing all approaches it can be concluded that
most important criteria for assessing RPA suitability
Robotic Process Automation (RPA) is a new technol- are − rule based and repetitive process, usually includ-
ogy utilising software robots for automation of repet- ing low-complexity tasks, high transaction volume and
itive back-office processes. It finds applicability across availability of digital data [13, 14].
industries and business functions [1, 2]. The main goals RPA is the fastest-growing enterprise software cat-
of RPA are the following: (1) eliminate the need for a egory, therefore there are numerous RPA tools and ap-
human to work on repetitive tasks; (2) speeding-up a proaches available in the market [15, 16]. But choos-
process; (3) remove human faults; and (4) achieve 100% ing one could be a challenge, because they can differ
accuracy of a robot. The applications for RPA are nu- in features provided (drag & drop functionality, text
merous and growing every year, but some of the most recognition, intelligent automation, scraping solution
common RPA tasks include banks and financial opera- and etc.), OS support, architecture, platform and cost.
tions [3, 4] insurance functions [5], tour enquiries [6] Recently, the most popular RPA tools are “Blue Prism”
and logistics services [7]. However, the identification [17], “UiPath” [18], “Automation Anywhere” [19] be-
of candidate tasks suitable for robotic process automa- cause of the platform independency, smart technolo-
tion can be estimated under various features and tech- gies and industry type.
niques [8]. The identification of automation degree of A service quotation is a specific document of the
tasks described in a textual process description fea- service order, which is often used in sales market in or-
tures can be analysed using machine learning tech- der to track it, and, after acceptance, transfer it to a ser-
niques [9, 10]. vice order. Service quotation generation is a rule based
Business Process Model and Notation (BNMN) sche- process, not dependent on human judgment, standard-
mes can be created and later analysed for RPA suit- ized and repetitive, thus it is a good candidate for au-
ability [11]. Mouse actions and keyboard strokes per- tomation using RPA technologies. To evaluate the pro-
formed by users combined with a sequence of screen cess automation effectiveness, this paper presents an
images can be employed to evaluate RPA demand in RPA approach for automated service quotation gen-
non-invasive manner [12]. eration incorporating “Blue Prism” and SAP scripting
technologies. The experiments have been carried out
IVUS 2020: Information Society and University Studies, 23 April 2020, to estimate how stable, faultless and fast the automa-
KTU Santaka Valley, Kaunas, Lithuania tion process is comparing to a human labour.
" agne.paulauskaite-taraseviciene@ktu.lt (A.
Paulauskaite-Taraseviciene); vilius.kerutis@ktu.lt (V. Kerutis)
© 2020 Copyright for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
http://ceur-ws.org
ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org)
2. Service quotation generation has to approve his actions by pushing the button, but
he cannot do that for one reason or another, it will be
process a system error. Queue items with system exceptions
Service Quotation Generation (SQG) - at a higher level, are repeatable most often, up to three attempts. In-
it is a process where quotations are created from fil- ternal errors are associated with unpredictable cases,
tered orders (with detailed information) and then sent when robots in a certain situation do not know how
to the clients. SQG can be designed in different ways to behave and consequently have to terminate their
and for different purposes. The process of SQG in- job. These errors are visible in the processes manage-
cluded in this research is described below. ment part only. The biggest challenge is to predict all
First of all, the whole process has to be separated the possible scenarios in process execution in order
into smaller sub-processes to reach scalability. It is to avoid terminations. The algorithm of the process
separated into three sub-processes: “Populate Work should handle different/new situations and to ensure
Queue”, “Main” and “Reporting”. The first sub-process stable working process for all cases.
loads all filtered sales orders from SAP into the “Blue Structured description of SQG process is divided into
Prism” control room queue. Only one software robot 7 steps and presented in Fig. 3, including the explana-
(digital worker) is required for this task. The “Main” tion of four SAP transactions, VA05, VA03, VA21, and
sub-process is responsible for the process logic con- YVAFE [20] involved in the process.
trols. To ensure effectiveness multiple robots should
be involved in this sub-process. Items from the queue 1/2 steps The first SAP transaction VA05 is used for
are taken one by one and independent quotations are getting, filtering and adding sales orders to the queue.
generated. The process automation needs one robot The two steps are pretty simple: go to transaction, set
to create a queue, and the particular number of other company code and date period of sales orders, get all
robots to do all tasks form the “Main” sub-process. The sales orders, add three more informational columns:
last sub-process “Reporting” stands for storing infor- material, description, order quantity. Filtering provides
mation related to the current state of tasks. It takes all all sales orders by material numbers, but before this
data from the working queue, reads significant infor- step it is necessary to read material numbers from .xml
mation and makes a report. This report is transferred format file. The next step is to add all filtered sales or-
to human workers who are responsible for operating ders to the queue. The sub-process “Populate Work
the robot. To complete all tasks of the “Reporting” sub- Queue” uses only one SAP transaction to do its task.
process one software robot is required. This sub-process cannot be performed by multi–robots
After execution, the responsible persons can find all because there will be created duplicates in a queue and
required information about the queue items. For ex- the whole process cannot be separated in several inde-
ample, it can be identified whether it has been a suc- pendent parts.
cessful execution or not, which is marked as a green
check symbol or a red flag respectively. In case of suc- 3 step The “Main” sub-process needs the other three
cess, customers only care about execution parameters SAP transactions (VA03, VA21, YVAFE) to execute the
like quotation number, Purchase Order (PO) number process. The first transaction is used for getting in-
and other quotation related data. Moreover, employ- formation about the client (his/her e-mail and name).
ees, who are responsible for operating the robot, have In this step there might be some business exceptions,
to be sure that approved cases are certainly successful because the robot may encounter missing values of an
and there are no logical mistakes in execution. In the e-mail address or name. Here, the robot first of all goes
case of an exceptional – unsuccessful operation, ex- to this transaction and writes a sales order document
ception type must be verified. There are three types of number. Next, it tries to go to the “Partners” tab to get
exceptions: business, system and internal. Business ex- an e-mail address. There is more than one tab and by
ceptions include data errors. For example, if the robot default. Usually, the robot goes to the eighth tab, reads
instead of information in e-mail address format gets its name and if there is a “Partners” tab, the robot tries
information with unknown/wrong format, it will be to get an e-mail address. If there is no such tab, it goes
considered as a business exception. from the beginning of tabs one by one to find the “Part-
Queue items with business exceptions are non- re- ners” tab. When a robot finds an e-mail field, it reads
peatable because it makes no sense to repeat it as the it and saves into memory. If there is no email (after
data will not change. System exceptions are associated all searches) – it is considered as a business exception.
with application based errors. For example, if the robot The same actions are performed while searching for
122
the customer’s name, but by default, robot is initially
placed to the tenth “Order Data” tab.
4 step RPA service product analysis is performed in
this step and it follows the actions, described in step 3.
5 step The second transaction VA21 is used to cre-
ate a quotation. It is the most difficult transaction for a
robot to perform. A digital worker has to write all data
from VA05 and VA03 transactions very carefully and
correctly. First of all, the robot goes to VA21 transac-
tion, then sets up an initial screen, where all fields de-
pend on the company and are always constant. Next,
the digital worker has to fill in all the required fields
to create a quotation. Required fields usually include
- the purchase order number, document date, valid to
date, some fields about company parameters and mate- Figure 1: RPA marketing material selection algorithm
rial numbers (must be read from .xls format file before
writing). In this transaction, the robot has to enter the
customer’s name from the VA03 transaction, which is cific customer. The “Main” sub-process can be exe-
initiated after completing the required fields and the cuted with multi robots. All robots can take data from
next actions are the same as in VA03 transaction with different sales orders and create different quotations
tabs. The essential thing is that a robot has to write independently at the same time.
the customer’s name – not to read. If this action is
performed correctly, SAP will display a message with
information about the created quotation and its num- 3. Realitazion
ber. A robot has to filter out quotation number from
the message using RegEx (regular expression) and save All interactions with SAP are executed using SAP scrip-
it to the memory. ting. SAP buttons, tabs, fields, windows, tables and
other elements have their references. Using “Blue Pri-
sm” code stages and SAP references, robots can inter-
6 step In this step RPA marketing material selec-
act with elements in every possible way. For example,
tion is performed. Here, the algorithm (see Fig. 1) for
if there is a button, the robot can press it using the code
achieving part material is executed.
stage press method. The biggest difficulties arise when
Data from Logic Template .xls format file is included
there is a need to read the whole data table (all sales
in the customer_MAT. Meanwhile A, B or C is filtered
orders) into one data set called a collection. Collec-
one row from the corresponding lists. If sign “X ” is
tion in “Blue Prism” is like a two-dimensional array/
found in A column, material number is recorded. Spe-
a hash table mix, like a two-dimensional array with a
cial case in MAT has two signs “X ”, therefore addi-
header. To use SAP scripting IDs of the session and
tional checking is performed to verify part_MAT value
connections must be known, but these IDs are always
and the index. Additional checking is performed to
the same and usually are equal to zero. Connection
identify if there is a specific_Mat in the order. If the re-
ID always depends on how many users are connected
turned value is true, part_MAT is added to selected_
to the same resource computer. The whole process
MAT. “X “ sign denotes which part_MAT is selected
should be done by one user and thus the connection
(see Fig. 2).
ID should always be equal to zero. Session ID depends
on how many SAP windows are open. It means that all
7 step The last step is to go to the YVAFE transac- transactions can be opened in different windows and
tion and send a quotation to the customer. The robot have different session IDs. Using best practices, the
needs to go to the transaction, write quotation num- robot always does its job in a transaction and goes to
ber, review quotation, write customer e-mail address, another transaction from the same window. As a re-
send quotation to the written e-mail address and close sult, the session ID always remains the same number
all confirmation pop-ups. These steps define the pro- and equal to zero.
cedure, how the quotation is created and sent to a spe- The main goal of this process it time optimization.
123
Figure 2: The example of a special case: having two material 1501328 and 1501331 only part material 8044342 is selected
Figure 3: Scheme of automated service creation (original: agent quotation support)
The digital worker can generate one quotation much cess execution. However, there is a possibility to im-
faster than physical human employee. Robots can work mediately stop the process. In the control room we
twenty-four hours per day, seven days a week without can request the stop for the current process and then
any pauses and breaks or holidays. Even one robot the robot will stop process execution after it finishes
can increase the process of service quotation and re- a current case. There also are some certain variables,
duce costs significantly. There is a need only for one called “Session variables”. Values of variables might be
physical human to ensure that digital worker operates changed in the control room even when the process is
properly. in execution stage.
It is very important to denote general robot behav-
3.1. Rules and Constrains ior rules and reaction to the information predefined in
the settings file. However, such rules may be modified
When the RPA process is executed, we cannot change according to the required changing needs.
any steps of the robot but we can do monitoring from Rules according to the settings file:
the control room. There we can see the current robot
step. Different applications such as “VNC Viewer” can 1. Customer email must be found in a first choice
be used to monitor real-time execution processes. “VNC line, if not – then in a second choice line, if not –
Viewer” is a program for logging into another virtual then in a third choice line. If no email is found in
environment allowing to view the processes from the all choice lines – business exception is recorded
outside. In case of an emergency, there is a possibility and the case is ended.
to untick “View only” checkbox from “VNC Viewer” 2. Quotation must be sent by email to primary re-
parameters and make some changes in real-time pro- sponsible person and
124
3. to the customer, if there is a “yes” option selected
(Question: “send a service quotation to the pri-
mary responsible person as well”) in settings. If
no email is found in the “Primary Responsible”
line – business exception must be thrown.
4. Text from the settings must be added to PO (Pur-
chase Order) number in quotation.
5. The date of PO must be selected from two op-
tions: (1) actual date or; (2) the date from the
sales document.
6. The date must be validated by the value of the
field “ Valid to” calculated using formula:
𝑉𝑎𝑙𝑖𝑑_𝑡𝑜_𝑑𝑎𝑡𝑒 = 𝑃𝑂𝑑𝑎𝑡𝑒 + 𝑚 (1) Figure 4: Processing time of cases (5, 10, 15, 20 and 25) per-
formed by humans.
where 𝑚 denotes the number of months.
7. Customer cannot get another quotation if the
inter-time 𝑡𝑖𝑗 between two consecutive quota-
tions 𝑖 and 𝑗 (set in settings file) did not pass.
In other words, the customer after one received
quotation has to wait for a time period 𝑡𝑖𝑗 (for
example 7 days). The time duration 𝑡𝑖𝑗 is prede-
fined in the settings file.
8. Quotation cannot be created and sent to cus-
tomer if the customer’s number is included in
a “Black list”.
9. Quotation must be sent only to the primary email
of the responsible person in case the customer’s
email is in a “Grey list”.
Other Rules: Figure 5: Processing time of cases (5, 10, 15, 20 and 25) per-
formed by robots.
1. If the robot cannot send a quotation to the cus-
tomer because of “SAP” limits, the sending op-
eration must be repeated in a few hours or on 2 Cores, 3.20 GB RAM, 3.20 GB of total physical mem-
the next day. ory and 4.76 GB of virtual memory. SAP scripting,
2. Sales orders with the same document number “Blue Prims” and Visual Basic frameworks has been
must be sent to the customers in one quotation. used for creating realization models.
3. Robot must find customer’s name, if it cannot do The evaluation of time efficiency of the implemented
that – a business exception must be thrown. RPA experiments have been performed using different
4. Robot must save all the data (customer’s email, number of cases implemented into 5 scenarios. The
primary responsible person’s email, quotation same scenarios have been tested with humans - 20 par-
number and other data required for quotation ticipants have been involved in this research asking
generation) for report. them to complete the tasks ensuring the same work-
5. The Robot having order materials must find all ing conditions.
part materials according to the algorithm describ- In Fig. 4 the diagram representing the time results
ed in Fig. 1. achieved by humans performing different number of
cases: 5, 10, 15, 20 and 25 is included. For completing
5 cases the average time required for human is 13.22
4. Experiments minutes, thus 2.64 for one case. With the increasing
number of cases, the average time to complete one case
All the experiments have been carried out using the
is increasing as well and estimating the time to com-
computer with the following main parameters: Win-
plete 25 cases, the average time to complete one case
dows 10 Enterprise, Intel(R) Xeon(R) CPU E5-2690 v4,
125
unknown and conflicting situations.
References
[1] G. Capizzi, G. Lo Sciuto, C. Napoli, R. Shikler,
M. Wozniak, Optimizing the organic solar cell
manufacturing process by means of afm mea-
surements and neural networks, Energies 11
(2018).
[2] D. Połap, M. Woźniak, C. Napoli, E. Tramontana,
Figure 6: Comparison or humans and robots time results Real-time cloud-based game management sys-
achieved performing tasks. tem via cuckoo search algorithm, International
Journal of Electronics and Telecommunications
61 (2015) 333–338.
[3] R. Vedder, et al., Robotic process automation in
is equal to 3.51 minutes. Meanwhile, estimating the
the finance function of the future (2016. Available
average time to complete the same cases for the robot
online: https://insightsbenelux.com/ publica-
the constant value of 1.264±4.6% to finish one case has
tions/%2314_werkplaats_(ochtend)_EYFinance
been observed (Fig. 5).
_Robotics.pdf.).
Comparing the time results of humans and robot,
[4] Role of rpa and ai in transforming
we can see that superiority of the robot increasing with
banking operations (Hexaware and
the increasing number of cases. With the small num-
IBS Intelligence 2019. Available online:
ber of cases the robot can complete all cases twice faster
https://ibsintelligence.com/files/media_temp/
than the human. The gap between results is more sig-
Hexaware-Role_of_AI
nificant and reaches 2.82 times when the number of
&RPA_in_transforming_Banking_Operations_
cases reaches 25 (Fig. 6). Performing the testing of the
v9.pdf).
RPA process no logical loops or other critical errors
[5] C. Lamberton, D. Brigo, D. Hoy, Impact of
have been observed. The whole process is fast, stable,
robotics, rpa and ai on the insurance industry:
ensures the task completeness and responds correctly
challenges and opportunities, Journal of Finan-
to all input data.
cial Perspectives 4 (2017) 1–13.
[6] Rpa’s impact on the travel industry (2017. Avail-
5. Conclusions able online https://www.uipath.com/blog/rpas-
impact-on-the-travel-industry).
This research paper has proposed an RPA approach [7] I. Karabegovic, E. Karabegovic, M. Mah-
for automated service quotation generation. The time- mic, E. Husak, The application of ser-
effectiveness of the proposed technology has been test- vice robots for logistics in manufacturing
ed with different number of cases and compared with processes (Available online: http://apem-
the results archived by humans. Comparing the time journal.org/Archives/2015/APEM10-4_185-194
results of humans and robot, we can see that superior- .pdf).
ity of the robot is increasing with the increasing num- [8] F. Mazzenga, R. Giuliano, F. Vatalaro, Fttc-based
ber of cases. With the small number of cases, the robot fronthaul for 5g dense/ultra-dense access net-
can complete all cases ∼ 2 times faster than the human work: performance and costs in realistic scenar-
(taking the average time values calculated from all ex- ios, Future Internet 9 (Oct. 2017) 1–21.
periment participants). When the number of cases is [9] H. Leopold, H. Van der Aa, H. A. Reijers, Identify-
equal to 25, the execution time of the robot is 2.82 ing candidate tasks for robotic process. automa-
times faster. Such results prove that the application tion in textual process descriptions (Enterprise,
of RPA is reasonable for the automated service quo- Business-Process and Information Systems Mod-
tation generation and could be valuable for different eling (EMMSAD), 2018) 67–81.
business companies, especially for those that have to [10] C. Napoli, E. Tramontana, An object-oriented
complete a huge amount of operations every day. neural network toolbox based on design patterns,
In future work, we plan to improve the rules of our in: International Conference on Information and
approach in order to ensure stable performance under
126
Software Technologies, Springer, 2015, pp. 388–
399.
[11] A. Bjorn, S. Gustav, Evaluating and developing
methods to assess business process suitability for
robotic process automation - a design research
approach (Master Thesis, 2018. Available online:
https://odr.chalmers.se/handle/20.500.12380/255
664).
[12] A. Jimenez-Ramirez, H. Reijers, I. Barba,
C. Del Valle, A method to improve the early
stages of the robotic process automation lifecycle
(In: CAiSE. Springer, 2019) 446—-461.
[13] A. A., E. Penttinen, Turning robotic pro-
cess automation into commercial success-case
opus capita, Journal of Information Technology
Teaching Cases 6 (2016) 67—-74.
[14] J. Geyer-Klingeberg, J. Nakladal, F. Baldauf,
F. Veit, Process mining and robotic pro-
cess automation: A perfect match (2018.
Available online: http://ceur-ws.org/Vol-
2196/BPM_2018_paper_28.pdf) 1–8.
[15] J. Gao, S. van Zelst, X. Lu, W. van der Aalst,
Automated robotic process automation: A self-
learning approach (OTM 2019: On the Move to
Meaningful Internet Systems: OTM 2019 Confer-
ences) 95–112.
[16] C. Martins, Robotic process automation: A lean
approach to rpa (2018) 1–10.
[17] Blue prism: Robotic process automation – rpa
(Available online: https://www.blueprism.com/).
[18] Uipath: Robotic process automation (Available
online: www.uipath.com).
[19] Automation anywhere: Global rpa solutions
(Available online: https://www.automation any-
where.com/).
[20] Analytics for sap tcodes (Available online:
https:// www.sap-tcodes.org/tcode/va05.html).
127