Wednesday, 24 May 2017

When Bots are crashed? Dev should know...

When Bots are crashed? Dev should know...

Today let's talk something interesting about Bot configuration. What could be the dead ends where a working bot may start behaving incoherent? There are many technical aspects at activity level where Robo fails due to configuration setup/exception handling and overburden or over processing. Few points will help us to understand some errors and technical solutions.
1)  Consider the process where bot will read the image and identify the background color to perform certain action based on that color. Ex IF Red then.....execute... Else..... Exit... There are many activities in RPA tools to read the background attribute of the image and get the background color. However in most of the cases developers will face challenge to configure it as this will not solve the equation for you. Whenever bot will reach in this IF ELSE box it interprets Black Color by default and gets confused between screen resolution. Especially in case of citrix.

How to do it: - Configure the try catch block and capture the image from the middle to get the true color and pixels then plot     the IF block. In "Else IF" block record the image edges just to ensure Robo checks the edges in case of failure. Populate the "Final" block to exit from the condition.

2)  Complex process requires very logical framework layer in configuration of the Bots. Take an example of the process where for every input or data gathering from multiple systems. Developers declared variables to store the information based on scope and then forward it to different platforms. UN doubly this Robo will crash due to overburden of memory utilization. "More you declare variables turns low on processing for bots, Remember Bots working at front end are more impacted as no background threads or commands initiated".

How to do it: - Access clipboard storage and instead of declaring # of variables store the information in relevant databases.

3) Very simple process can be automated by using RPA recorders and activity learners. Now let's consider the example where user has to
Logon to some website and copy paste the data into excel. What do you think “Developer should use the recorder to do it or build the Sequence code. Recording actions are more prone to failures and also increases slowness in the applications.

How to do it: - Configure sequences and use hot keys not recording.

4) Robos doing data manipulation and conversion makes bot processing very slow and turns into crash landing. Bot's working at front End goes very low on processing if it has to deal with huge amount of data. Example of the process where thousands of records needs to be Checked and validated in the excel sheet. Configuration of such bots is very easy but dawdling.
How to do it: - Configure the bot at the back end with action scripts.

5) Using mouse clicks and cursor movements makes the Bot into nowhere situation as and when system changes or x and y position of the object.

How to do it: - Configure Robo using keyboard events/sending keys/Tabs

6) Never use ALT + TAB to switch between the applications. This will halt the Robo execution.

7) Use * symbol for image recognition and title representation

8) Before running OCR on pdf's identify field names and parse it on OCR tool using action scripts. This increase the accuracy of the output.

9) Run bots from command center and send input data at runtime to all respective bots

10) Don’t forget to show exit points in configuration. Very important to get back into exit mode after processing

Wednesday, 30 March 2016

Virtual Keys - Control/ Capture Keyborad and Mouse to complete your tasks

Sub Virtual_Keys()
' To run this example please open word and ensure the title of the word file is Document1 - Microsoft Word. If not please update the title in the below AppActivate code
' This example will type your Name in word document and would automatically populate save and send feature.
' Good examples for beginers
AppActivate "Document1 - Microsoft Word"
Application.Wait (Now + TimeValue("00:00:02"))
Application.SendKeys ("Hello" & " " & Application.UserName)
Application.SendKeys ("%{f}{d}") ' Virtual Keys % = ALT & FDA = Save and Send as attcahment
Application.SendKeys ("{a}")

End Sub

Auto Kill Files and then empty Folder after specified timeline

Sub Autokill_Files_Folders()
On Error Resume Next
Application.Wait (Now + TimeValue("00:00:05"))
Kill "D:\Users\Ramneeks\Desktop\Sample Folder\New folder\*" ' Deletes Files
Application.Wait (Now + TimeValue("00:00:01"))
RmDir "D:\Users\Ramneeks\Desktop\Sample Folder\New folder" ' Delete empty folder
End Sub

Auto Kill or Delete files within specified timeline

Sub autokill_Files()
On Error Resume Next  ' To skip any error
Application.Wait (Now + TimeValue("00:00:05")) ' Time can be changed
Kill "D:\Users\Ramneek sharma\Desktop\Sample Folder\*" ' Set the path as required
End Sub

Shell Commands to delete Internet Files

Shell "RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 4" ' Delete Temp internet Files
Shell "RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 16" ' Delete Froms Data
Shell "RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 32" ' Delete Password
Shell "RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 1" ' Delete History
Shell "RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 2" ' Delete Cookies

Thursday, 17 December 2015

Macro to interchange (+) positive to (-) negative and vice-versa

Sub change()

On Error Resume Next

 For Each cell In Range("E1:e20")

If Not cell.Value Like "-" & "*" Then

cell.Value = "-" & cell.Value


cell.Value = Abs(cell.Value)

End If

Next cell

End Sub

Friday, 27 November 2015

Sunday, 22 November 2015

NIIT has given this opportunity for all those who believe "Still lot more to Learn".

NIIT has given this opportunity for all those who believe "Still lot more to Learn".

Come Join and learn, get your expertise, get skilled and groom yourself with NIIT.

 - "I teach to learn" Learning never ends.