October 9, 2017

RPA(Automation Anywhere)

TIps for AA
  1. Web object can capture with Object cloning, manage window control or manage web control.
  2. Control room client can be bot runner or bot creator
  3. IQBOT is vision BOT
  4. Always use a variable to make the things dynamic and set the value in variable from external mapping file.
  5. Avoid system variable Date - instead, use Date + Month + year because returned format is inconsistent depending upon the environment
  6. Excel, CSV/Text, browser session cannot be shared across tasks
  7. Subtask should be small
  8. MetaBot licenses are consumed on first logged in,first allocation basis
  9. To access the column value in table use index 1,2,3 like $dataset columns(1)$
  10. Do use copy & paste and shortcut keystrokes
  11. Don't use differing variable between tasks (Quick map)
  12. Avoid too many subtasks
  13. Avoid bi-directional dependencies between the task
  14. Reduce the unnecessary steps
  15. Configurable BOT
    1. Pro - Give liberty to extend/modify
    2. Con - Complex - Less User-friendly due to more configuration
AA Control room (VSI) consist of
Below components are present
1.     .Net framework
2.     IIS
3.     IE
4.     Schedule service
5.     AAE Control room API
6.     AAE Control room Site
7.     AAE analytics

Share data & service – Below components are present
1.     File repository
2.     Web socket service
3.     Sql server
4.     SAN

AAE Client Setup
1.     AAE client setup
2.     .Net Framework
3.     IE
4.     SVN

Control room Installation approaches
1.     Standalone – all components can install in single VM
2.     Distributed
1.     Application servers – VM1, VM2…
2.     Shared data & service – VM3
3.     Disaster recovery –VM4
4.     AAE Analytics – VM5

What is the method to get RPA analytics data?
1.     Tag – tag the variable
2.     Log – start capturing real time data log
3.     Analyze – Generate the reports based on historical data

AA - Surface Automation Techniques
1.     Should always capture only image 2 which in turn will dynamically load the bigger image which is image1.
2.     Repeat the capture of image 2 till the image 1 section gets autoloaded and Run the Quick test to ensure the images are captured successfully.
3.     Identify the combination of Match Percentage and Tolerance by running the automation several times in different user logins.
4.     Whenever the required image is in a multicolored background and during automation execution if unable to identify the image then change the mode to Monochrome.
5.     When the required image is black and white background, the Gray scale mode can be used to identify the image if required.

Question and Answer

Which option in AA is used to read entire cells in excel?
Select one:
a. Get Multiple cells
b.  Go to cell
c. Get all cells 
d. Enough to work with
e. All the above

Which of the below options are available in AA to activate sheet in excel?
i) Sheet By Index
ii)Sheet By Name
Select one:
a. Both i & ii 
b. Only i
c. Only ii

Is it possible to check broken link using web recorder in AA?

Select one:
a. False
b. True 

Which of the following activities can be performed using Read From CSV-Text Command in AA?
Select one or more:
a. Use encoding options: ANSI, UNICODE, and UTF8. 
b. Read multiple lines in CSV or text files 
c. None of the above
d. Read List Separated or Tab delimited data from a CSV file. 

PDF Integration in AA supports both encrypted and unencrypted files.
Select one:
a. True 
b. False

What are the actions that can be performed in image recognition once the image is found?
Select one:
a. Double Click
b. Left Click
c. Right Click
d. All of the above 

 To compare, find, split and join strings which feature in AA can be used?
Select one:
a. Object cloning
b. Keystrokes
c. Variable operation
d. String operation 

Which of the following privileged user can run the bots?
Select one:
a. Bot runner
b. Bot Creator
c. All of the above 

How do we allocate an existing license from one user to another user in the same Machine?
Select one:
a. Create a new user and upload the license file
b. Deactivate the existing user, create a new user and login with the credentials 
c. Create a new user and login with the credentials in client

Choose the commands that supports Secure Recording mode
Select one or more:
a.  All the above
b.  Object cloning 
c.  All the commands in the Enterprise client
d.  Image Recognition 
e.  OCR

Does the PDF integration command supports to extract the structured text? If so select appropriate option below
Select one:
a. All the above
b. Extract form fields
c. PDF to image
d. Extract text 

If at all the Credential information needs to be stored in centralized location, then what are all the options available AA?
Select one:
a.  Windows Vault
b.  Automation Anywhere Credential Manager 
c.  Automation Anywhere Credential Vault
d.  Windows Credential Manager

Which of the following actions can be performed by the user with Bot runner role?
Select one:
a. Can run the tasks using the 'One Time Only' schedule option only.
b. Can add, edit and delete schedules for tasks on your Client machine 
c. All of the above
d. Can create and run the tasks.

Which of the following is the best option to extract the data from Flatened PDF?
Select one:
a. All of the above
b. Extract Text 
c. OCR
d. Extract Form Fields

September 16, 2017

RPA(UiPath)

Do the Automation by creating Workflow of Process.
Good Part about this tool is (can call .Net function in condition like .Trim, ToString, etc)

UiPath consist of 3 part

1) UiPath Robot - Robots can work unattended (run without human supervision in any environment, be it virtual or not) or as assistants (human triggers the process).


2) UiPath Orchestrator (server) - a web application that enables you to deploy, schedule, job, monitor and manage Robots and processes. It consists of
  • Robot  -list of robot available in environment
  • Process - list of process
  • Asset - list of asset that is reusable component
  • Queues - list of Pending task
  • Schedules - list of scheduled process
  • Job - list of jobs created
  • Logs - capture the running process log

3) UiPath Studio (Client) - it uses .NET workflow and it helps us to design automation processes in a visual manner, through diagrams.

The UiPath Studio interface

Activities panel - contains all the actions we need to automate different applications - like clicking and typing - and other data-processing actions
Workflow Designer - this is where you build your automation project
Properties panel - where you can change different parameters and settings of the selected activity
  • Workflow - Can create by Flowchart (Complex process) and Sequence (small process)  or we can use sequence as reusable part in flowchart
  • Variable - we can define type,scope,value
  • Activities - 300 activities related to programming,Web services, Email, web,window,Citrix,excel, pdf, database,OCR,Image recognizance, Terminal,SAP etc
  • 4 Type of Recorder - Basic, Desktop, Web, Citrix
  • UIExplorer - Use to catch control
  • Data scraping - Extract the data from web application
  • Publish - Publish to workflow to connected orchestrator
  • Debugging and exception handling
  • Excel Automation
  • PDF Automation
  • Citrix Automation
  • Email Automation
  • SAP Automation
  • Project organization
  • User event
Best Practices

  • Bot must be reliable, efficient, maintainable, extensible
  • choose appropriate wf
  • Flowchart: Main wf is best suited
    • Easier to understand
    • Overview of full process
    • easier to test
  • Break process in small workflow (invoke command)
  • Sequence- Suited for sequential workflow
  • Use try-catch


Study material
Academy

UiPath Studio guide

UiPath Robot

Activities guide


Get the certificate by learning UiPath
https://www.uipath.com/academy/certifications

You will be able to download UiPath Studio and obtain a free license for the use of the software for 60 days
https://www.uipath.com/download-free-automation-software-trial


August 6, 2017

Node,js

What is Node.js?
- Node.js enables JavaScript to be used for server-side scripting
- It has an event-driven architecture capable of asynchronous I/O
- It contains a built-in library to allow applications to act as a Web server without software such as Apache HTTP Server or IIS
- It is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side.
- It contains 2 type of modules
- Built in module
- Custom module


Where should we use it? 
It became the best choice in Real Time web

- Node.js works on a non-blocking I/O model that makes it clean and usable, ideal for the data-intensive real-time applications that have to perform in varied environments.
- It is useful for Real time web application like chat, video and audio streaming, uploading files, browser games etc.
-It can Insert, Delete, Select, Update a record in database.

How to implement in .Net project
- install .Node.js setup from site
-Install node.js template for visual studio but we can use other IDE because it uses javascript lang only



August 5, 2017

Software design concepts


Software design Principle
  • Should have Domain and software knowledge
  • Give more time to rewrite the design of software
  • Take the time to review design
  • Keep the code simple. Simple help you to solve critical problem
  • Make small method
  • Single level of abstraction - 
  • YAGNI - You aren't gonna need it (or you don't have much idea about it) wait to implement it later (cost of implementation will be less if we postponed) 
  • High Cohesive - Like things stay together (indirectly one responsibility)
  • Low coupling - Keep less dependency between the class
  • DRY - Don't repeat the code
  • Single Responsibility Principle - Give only one responsibility to single object
  • Open Closed Principle - Open for extension but close for modification
  • Liskov Substitution Principle - Derived class must completely substitutable for their base types
  • Interface Segregation Principle - Clients should not be forced to depend upon interfaces that they do not use.
  • Dependency Inversion Principle - removing direct dependencies between classes.  
  • If we can't name a variable or function properly it may be sign..we have not yet understood its true purpose.
  • Modularity -  dividing the software into uniquely named and addressable components
  • Understand design pattern

https://msdn.microsoft.com/en-us/library/ee658098.aspx

http://www.oodesign.com/

https://code.msdn.microsoft.com/windowsapps/OOPS-Principles-SOLID-7a4e69bf

http://ecomputernotes.com/software-engineering/techniques-for-maintenance


Software Architecture and Design
http://msdn.microsoft.com/en-us/library/ee658093.aspx


Design Fundamentals
http://msdn.microsoft.com/en-us/library/ee658116.aspx

MSDN Library
http://msdn.microsoft.com/en-us/library/ms123401.aspx

Pattern and Practice
http://msdn.microsoft.com/en-us/library/ff921345.aspx


June 12, 2017

Tips for writing better BOT

BOT Cycle
  • Requirement gathering - Analysis, feasibility, automation scope
  • Design - To be Process, Technical, solution document
  • Scripting - convert process into script
  • Testing - check the accuracy of script
  • Script review
  • KT to support team - create user guide for operation team
  • Deployment
  • Maintainance - Script versioning, Monitoring and fixing bug
RPA developer deals with operation, security and end user.
BOT perform low-level tasks freeing up Human Resources for more demanding jobs.

Factor experienced while creating BOT in WinAutomation or Automation Anywhere

Requirement

- Is the Process automatable
- If not, What are steps can automate? to make it faster
- Check the As-is process
- Check the in Scope and out of scope of project
- Do quick PoC to check compatibility

Design

- Analysis the Risk Matrix (No of transaction, No of FTE)
- Make proper design of BOT for modification or scaling
- Design user-friendly TO BE PLAN
- Present the TO BE PROCESS to Operation Team

Coding (
Adjust or fit the script 100% accuracy)

- Add Authentication for starting of BOT.The bot must run by the authenticated user only.
- Clean up before starting BOT
- Check Login before start working
- Trim and validate data before pass it to BOT
- Data security (Encryption) is also important
- Make the reusable Function/framework/bot
- keep your BOT simple and focused and make a proper region or Comment
- Release the resources if not required
- Find the multiple ways to solve a problem and then choose the best plan
- BOT process must be secure (Authenticated user) and compliance

- Make Milestone log
- Logs and Exception handling and Error notification is important


- Looping the action ( probability 100%)
- Used jQuery to find object
- case-insensitive data
- Use regular expression
Use  dynamic delay/wait for control
- Have scalability of bot
- create reusable bots
- identify time-consuming steps
- identify the scope of automation through  feasibility study/poc
- focus on FTE
- parallel workflow help to speed up things
- RPA tool should work with all kind of platform.
- transaction log on which bot run
- pop-up handle
- clean up the old session before starting new
- BoT logic should be less depend upon user data.
- input - process- output (correct/incorrect)

- Avoid use of OCR, IR and Keystroke


Testing

- Testing BOT properly. We can't skip this step after making modification in BOT
- Performance of website could vary on different environment (DEV, UAT, PROD) due data size, network or etc.

Approval/signoff for Deployment

- Analysis the Risk Matrix (No of transaction, No of success and fail ratio, No of FTE )

Maintenance

- Monitor and maintenance of BOT
- Generate Operational and Audit-related report

Risk handling

- What if BOT fail?
- How much time to rectify the issue?
- Check the loss of company due to BOT fail
- Set up Disaster recovery


Reusable component

- BOT Framework
- Error handling mail
- log creation
- BOT authentication
- Email script
- reusable macro/Excel formula
- Clean up before and after BOT run


Automation anywhere can not handle long term complex process because this tool is still have bugs and currently they have latest AA 11 version. I hope they have resolved some the issue from this product

- AA player get hanged
- session timeout
-Memory consumption issue
-scheduler not trigger

- It does not have feature to fetch data from unstructure PDF table
- It does not work properly with Flex technology


https://exceljet.net/blog/29-ways-to-save-time-with-excel-formulas

May 28, 2017

VBScript & SQLite

VBScript
VBScript use COM object to access the element of environment within it is running.
It is by default installed from Window 98
It mainly use to automate the window task
It is a case-insensitive language.
Worked only with IE 8.0 and above
Windows Scripting host must be enabled for running this script on window.
It run on WScript engine or CScript engine on window.
By default WScript in enable but you can interchange that via command.

SQLite

MS SQL,Oracle are the client server database whereas SQLite is stand alone database.

It is small standalone database which very handy for manipulating small amount of data
We can use SQLite at various situation. it doesn't required installation. It is just a small file.
We can use it in IoT devices, Android apps or product where we want to store small amount of data.

If you want to learn more about SQLite then check the below links
https://www.tutorialspoint.com/sqlite/index.htm

Here are the some command use in SQLite
.help
.quit
.databases
.tables
attach database 'testdb' as 'tdb';
Detach database 'tdb'
and so on...



May 25, 2017

RPA (WinAutomation)

Softmotive Company (started 2005) has 2 main Products


  1. WinAutomation - 2008
  2. ProcessRobot - 2016
WinAutomation 6.0.4 features
  • Macro Recorder
  • Web Recorder
  • Task Scheduler 
  • Triggers 
  • Autologin 
  • Image Recognition technology
  • UI Automation technology
  • Robot Compiler - Generate EXE
  • Control Repository
WinAutomation 6.0.4 consist of
  1. Console
    • Robots Tab (*.waj) : Create/Import/Export/Edit/Delete/Run/Stop Robot
    • Triggers Tab - Create/Edit/Delete/Enable/Disable Trigger
    • Schedule - Create/Edit/Delete/Enable/Disable Schedule
    • Logs
    • Other -Authenticate/Mail/etc.
     2. Robot Designer
    • Actions pane
    • Workspace
    • Variables Manager - Variables visualizer 
    • Errors
    • Region 
    • function 
Tricks for creating robot
  1. Give the proper variable name
  2. Use exception handling wisely
  3. Check the resource and do the data validation before start working on it.
  4. Robot task may be same however environment may not be same every time while it is running so use wait control properly.
  5. Know your session/instance properly.Use it and close it if not required.
  6. Consistency is important in robot. you can get it by robot monitoring and checking occasional OS resources.Sometime shutdown of servers (upgrading or maintenance) or robot is also required to get the high performance.
  7. Release the resources if you don't required.
  8. While running repetitive task, you can face new problems and challenges every day so be ready for that.
  9. Try to optimize the task.

May 11, 2017

RPA (Automation Anywhere)

Automation anywhere 10.2 consist of

  • Control Room (server)
  • Client setup
  • Repository
http://automatorsworld.com/2017/07/31/automation-anywhere-installation-and-configuration/

Control Room (Server) Setup consists of
  • Control Room (Administrator user- Main User of this Server) 
  • BOT versioning and scheduling
  • User management - Create,Modify,Delete Users
  • License management - Map/Unmap License (Development or Runtime) to user
  • Monitor the running task
  • Generate Reports base on Task run or fail -can Scheduler & Trigger
  • Audit trail
  • AA Analysis - Log the Tasks (Enable - Required Field). Can analysis properly if multiple logs present

Client Setup (Development Environment/Testing Environment) can work on

Taskbot has Properties or can Scheduler & Trigger
Metabot - 
·         Reusable component
·         It is Application Specific
·         Metabot handle to delay internally.
·         Capture all the controls, then development, can start
·         can call .net code via .dll
·          
Workflow has Properties or can Scheduler & Trigger

IQ bot (Vision BOT) -This is not present in default setup of AA
·         It is OCR solution
·         Can combine data from multiple page to single logical document
·         Rotation detection, tilt correction and de-skewing

Recorders
  • Smart recorder –It capture all the activity as object cloning
  • Screen recorder –it capture all the activity as mouse clicks, mouse move and keyboard operations.It capture window and web screen.
  • Web Recorder –it use for web data extraction.

Task Editor contains number of Commands

1. Object Cloning command
2. Working with Google Chrome browser
3. Web Recorder Command – it can capture the activity done on Menu like clicking the internal menu item
4. Loop Command
5. Error Handling Command
6. If/Else Command
7. Excel Command - $Excel column(1)$
8. Mange window control


Run task - pass value from one task to another task

Best practices
 - Use smart delay
 - use wildcard * in title
 -  use currently active window (pop up)
 - Remove filter and merge from excel


Deployment architecture
·         Single control room – Multi clients (Multiple virtual servers will be control by single by control room)

·         Multiple control room (clustering) – Each virtual server will be having its own control room. It also called as multi-site deployments

Command Order
·         Web recorder
·         Object cloning
·         Object recorder (manage window controls)
·         Image recognition
·         Keystrokes, mouse

Common problem
·         Multiple windows with the same name
·         Varying screen resolutions
·         Different OS or IE version
·         Multiple monitors
·         Machine or application slowness
·         Drag or drop functionality
·         Windows without a title

Automation Anywhere Client FAQs


How does the Client communicate with Server?

In the main Client window click on 'Repository' tab to communicate with the server.
You can directly upload, download or compare any task on the server with the one on the client.


Can I download/upload all types of documents?
Yes. You can download/upload all types of documents.


What is the process of registration?
The first time you start the client, it will ask you to login and when you click 'Login' (not 'Later') after inputting your credentials, you are registered with the server (Control Room/Server), automatically


What do I do in case of an 'Account Lockout'?
After the minimum allowable attempts have been exhausted for logging in to the Client account, it is locked for use. It can be unlocked only by the Control Room administrator, if a threshold value has been set in the Control Room. If the default domain policy is enabled, you are required to contact your System Administrator.


Files Folders FAQs

Can I create a file with any extension?
Yes, you can create file with any extension using the 'Create File' sub command in the Files/Folders command.

If I use a Files / Folders command like "Delete Files 'c:\MyPrgs\*.*' ", will this delete all the files in the sub-folders too?
No, this command will delete all the files in the current folder only. In the above example it will delete all the files in 'c:\MyPrgs' directory only.


Can I get all the file names in a folder to perform some operation on it?
Yes, you can use the "Loop for Files in a <folder>"command.
Here $FileName$ will have next filename inside the specified folder in each Loop execution.
You can use this System variable to per-form any operation inside the Loop - End Loop block.


Can I provide value for file/folder name when the task runs?
Yes. Automation Anywhere has a 'Prompt' command to provide value at run time.
You can provide value for any window, prompt for file/folder and even prompt for yes/no as well.


IF Condition FAQs

Can I execute certain commands only if a window exists?
Yes. There are number of conditions in IF command. One of them is 'If Window Exists' .


Is it possible for me to know if one of my software is running or not? I want to do certain action only if that soft-ware is running.
Yes, you can use If Condition (If Application Running) to see if any application is running or not. You can specify the exe name that you
want to test in the If condition. For e.g. consider the following script

If Application Running ('F:\WINNT\system32\calc.exe')
Comments: Add your commands when the Calculator program is running End If


Internet FAQs
What is E-mail Notification?
You can use E-mail notification when you want to be notified that a task has finished running. An e-mail will be sent to the addressed specified along with the status of the task that was running and few other properties.


What is this 'Email Settings' displayed in the Notification tab in the properties window?
This Button will open up the Options user interface that allows you to set the outgoing mail server, its port number and Exchange Server authentications, if any. Every mail that you send or receive requires the mail server. You have to obtain this information from your Internet E-mail provider or you may obtain it from the configuration section of your e-mail program.


Does your automation software provide any facility to send an email?
Yes, Automation Anywhere provides a command 'Send mail'. You can use this command to send e-mails to anyone. Note that this com-mand will get information about the e-mail Server, its port number and Exchange Server authentications, if any, from the Mail Setting in the Options menu every time a task runs.


Loops FAQs

What is a Loop Command?
A loop command allows repeated execution of a group of commands when these commands are placed inside the 'Loop “ End Loop"' block. The number of the times these commands are executed will depend on the type of Loop command selected. The 'Loop - End Loop' block might also contain within it another 'Loop - End Loop' block i.e. nested loop commands.

I want to do particular action on all the folders inside a folder. How do I do that using your automation software?
You can use the Loop command (Start Loop 'Each folder in '<folder>') in Automation Anywhere. If there are 'n'™ folders in the specified folder then this loop will be executed 'n'™ times. You can get each folder's name using the $FolderName$ system variable inside this loop block.


Can I get all the file names inside a folder using the Loop command?
Yes, you can get the file name using the System variable $FileName$ inside a specified folder by using the Loop command " Start Loop'Each File' in '<folder>'.


Manage Windows Control FAQs
How to use and manage Windows Controls to get check-box or radio button status in Automation Anywhere?
Manage Windows Controls command allows you to work with windows controls like check-boxes and radio buttons. With this command you can find out if the radio button or check box is checked or not. Automation Anywhere supports only standard Windows checkboxes and radio buttons.
Click on Manage Windows Control in Task Editor and select the appropriate radio button. Select the window to capture the check box or radio button. The value captured can be assigned to a variable.

Does a task recorded using MWC work in the background?
Yes. A task recorded using MWC works in the background.

Why aren't some controls highlighted when I try to capture them using MWC?
We capture standard Windows control using MWC. Client controls and Java are not supported by MWC. In such cases, controls are not highlighted.

Moved Icons-Menus FAQs
I recorded a task that opens a program from Start Menu > Programs and while running the task, the menu to open that program has moved. It clicks on a wrong program name and hence opens a wrong program. Do I need to re-record the task?
No, the SMART Automation Technology built into Automation Anywhere provides a powerful feature that lets you use your original task. You can check an option from Tools > Options >'Move Icons/Menus' . After selecting this option when you run a task it opens the same program that was opened while recording even if the menus have moved.


Will my task run correctly even if files, program shortcut icons in the Quick Launch and the Desktop have moved?
Apart from a few exceptions, opening of most of the files and shortcut icons from both Quick Launch and Desktop will run correctly if the icons have moved from their original location. Note that, the 'Move Icons/Menus' should be checked in Tools > Options menu for this feature to be enabled.


Report Designer FAQs

What is Report Designer?
Report Designer allows you to create your custom reports. Automation Anywhere features Task Run (i.e. whether they were successful or not), Task Timeline(i.e. run, created, modified and deleted), Workflow Run, Workflow Timeline, ROI and Visual Logs reports.
Reports can be generated by day, week, month as well as 'all time'. You can also generate a report for a custom date range.


Can I print my reports generated by Report Designer?
Yes. You can print a report generated by Report Designer directly from Automation Anywhere. Just click on the Print logo in the top left corner of the graph.

Recordings FAQs
How do I record a task using Automation Anywhere?
You can easily create new task using SMART task recorder. Click 'RECORD'; perform the activities on your computer that you want to record, click 'STOP' and then 'SAVE' the recorded activities to a task. You can playback your recorded actions by selecting the task and then click the 'RUN' button. For further details refer to the Help file.

Does it matter if the window size and locations of my applications change between recording and running?
No. Automation Anywhere's SMART Automation Technology automatically adjust to changes of window size and location.

Do I need to finish all my work in one application before moving onto the next application or can I switch back and forth between various applications while recording?
You can switch back and forth between various applications while recording.


Can Automation Anywhere work if computer is locked? Can I record a task to unlock the computer?
Yes. Automation Anywhere offers secure Auto Login technology. Auto Login allows scheduled tasks to run even when computer is locked. When you schedule a task you can enable Auto Login capability. If Auto Login in enabled, and if computer is locked, Auto-mation Anywhere will unlock the computer, run the task and lock it back.


Is it possible to execute a task in stealth mode when computer is locked?
Yes. To enable the task to run in stealth mode check Properties->Security-> Run this task in stealth mode option. This will hide the exe-cution of the task. To allow the task to run when computer is locked, enable Auto Login capability. Auto Login allows scheduled tasks to run even when computer is locked. When you schedule a task you can enable Auto Login capability.
An additional security option can also be set, where if you want to lock mouse and keyboard while task is running, just select 'Disable mouse and keyboard for this task' option from Properties->Security.


Can I stop the task while it is running?
Yes. Hold the Escape Key for 2-3 seconds.


Can I pause the task while it is running?
Yes. Press Pause on your keyboard. This will temporarily stop the execution of the task. Click on the ‘Resume’ button that will appear at the bottom right hand corner of your screen to continue running the task from where it was paused.


Can my recorded activity run in background, while I have control of mouse and keyboard so that I can do other things?
One of the distinguishing features of Automation Anywhere is its ability to run tasks in background. Advanced technologies like Web recorder, Object recorder and hundreds of powerful actions allow you to run many of your tasks in background. Few tasks like task recorded with standard recorder requires control of mouse and keyboard and therefore cannot run in background. Few other obvious exceptions include commands that requires screen, like taking screenshots or comparing images on the screen, but a vast majority of actions allow the task to run in the background.


I use remote access software to access a remote machine. Can I record a task that performs activities using remote access software?
Yes. Automation Anywhere supports all the remote access software.


I recorded task on 'abc.xls' but I want to run it on xyz.xls, how do I do that?
You can run the same task with different files of the same program. By default the task will only run on the specific file(s) it was recor-ded on. However you can check 'Enable this task to run with other similar files and windows' option under the Properties>General tab. Now for example if you recorded a task on abc.xls, you can run this task on def.xls, xyz.xls or any other *.xls files


Is it possible to password protect my task?
Yes, it is possible to password protect a task. While saving the task click on the Password Protection checkbox and specify the pass-word. Alternatively, you can password protect a saved task by going into the Security tab in the main screen of Automation Anywhere.


Scripting FAQs
I have been using VBScripts and JScript to accomplish some of my routine work. Can I somehow reuse them in your automation software?
Yes. Not only you can integrate disparate scripts like VBScripts & JScripts within an Automation Anywhere task but you can use in-built automation services like repeat, notification, etc., on VBScript & JScripts as well.
Automation Anywhere Editor has a command 'Run Script' . You can use this command to Run your VBScript or JScript files from Auto-mation Anywhere. You can even pass arguments to your VBScript and JScript files as you might have been doing it to run it through command prompt. You can also have return values, if any, to your VBScripts and JScript files.


How do I know if my Script ran without any Error?
You can use the 'If Script Successful' sub-command inside the 'If command'. This command will run the script and will execute the 'If - End If' block only if the script ran successfully.


Tasks FAQs
Can I run many tasks in a batch?
Yes, You can create a new task in which you can use 'Run Task' command to run your individual tasks.


When I use "Run Task" command, how do I know if the task successfully completed?
You can use the 'If Task Successful' sub-command inside the 'If command'. This command will run the task and will execute the 'If - End If' block only if the task ran successfully.


Triggers FAQs
Can I execute a task based on availability or non-availability of any file, folder, performance or service?
Yes, it is possible to execute a task with Triggers, based on availability or non-availability of any file, folder, performance or service. There are triggers based on Window (open or close), File (create, delete, renamed or modified), Performance (CPU usage, free disk space, process count) and Process and Services.


Is there a way to perform a task when a new email arrives?
Yes. Automation Anywhere has a trigger functionality that can perform any task when a new email arrives. You need to set the'Email Message Trigger' on the task.



Variables FAQs
How do I use a variable in the task?
You can use variable inside different commands like'Insert Keystrok', 'Open Program/File','Files/Folders'. In all the commands variable names are specified by enclosing the variable names in between the $ sign. For e.g. $Password$


If I create a variable for one task, can I use it in another task?
Variables created for one task are only available locally for that task and not for any other task. But, if you have upgraded from a lower version to version 5.5 and above, all the variables created in the lower versions will be available to you as global variables that can be used with any task.


List variable can have many different text values. When I use the list variable which value will be executed?
Every time a task comes across a list variable during the playback, the next text value in the sequence of the list variable is used. If the list variable reaches the last text value then its subsequent reference will return the first text value.

Is it possible to store special characters like Tab key in a variable?
Yes, you can store any special character as a text value in a variable.

I have to run a task that needs to use a different value for a variable in every repeat. How do I do that with your automation software?
Automation Anywhere provides "Loop – End Loop" commands. You can place your repetitive task inside a Loop – End Loop block.
You can use a List variable inside it for data that keeps on changing with each loop.

What are these System Variables $CurrentDirectory$, $FolderName$ and $FileName$?
These system variables are used with commands 'Loop for Folders in a folder' or 'Loop for Files in a folder'.
Consider a command in the task - "Loop for Folders in a <folder>".
Here the <folder> is the specified folder on which the Loop will execute. Its full path is available at execution time by the system vari-able "$CurrentDirectory$"
If <folder> has 'n' number of folders, the loop will be executed 'n' times. Each time the $FolderName$ variable will have the next folder's name inside the specified folder.
Now if the task is like "Loop for Files in a <folder>".
Then $FileName$ will represent the next file name inside the specified folder.
Outside the loop $CurrentDirectory$, $FolderName$ and $FileName$ doesn't have any usage.


Visualize Technology FAQs
What is Visualize Technology in Automation Anywhere?
Automation Anywhere Premier has an in-built Visualize Technology that allows for pictorial and storyboard views of the automated task. Visualize Technology is used in the different views in Task Editor, to capture images on demand with SnapPoint and Image Recognition with the IF command.



What is SnapPoint in Automation Anywhere?
In Automation Anywhere Premier when a task is recorded the images of all mouse clicks and keystrokes are captured automatically. But when a task is created in Task Editor the images need to be captured on demand. SnapPoint allows you to capture images on demand; just enable SnapPoint and set it for the commands that you want.



What is Image Recognition in Automation Anywhere?
Image Recognition is another feature of the Visualize Technology available in Automation Anywhere Premier. Image Recognition allows the recognition and comparison of images. It allows your automated task to "see".



Web Recorder FAQs


What is a Web Recorder?
Web Recorder reliably and accurately records and automates web based tasks. Automation Anywhere Web Recorder understands all the web controls. You can open or close browser, perform clicks, fill forms, import data from the web, download files, extract data, extract source, check for broken links and much more.



What is web data extraction? How do you extract data with Web Recorder?
Extracting structured or unstructured data from the Internet automatically with the help of scripts is web data extraction or screen scrap-ing. Automation Anywhere as a data extraction or screen scraping software is both flexible to suit any kind of web technology or page format and is also non-intrusive.





How do you check for broken links with Web Recorder?
To check for broken links with Web Recorder, go to Task Editor and select Web Recorder -> Find Broken Links command. Enter the URL and specify if you want the entire website to be checked or just the specified webpage. Enter the path of the file to save the results and click Save. Automation Anywhere will check for broken links as specified. You can schedule to run this task at pre-defined time.



What is Manage Web Control?
To capture image links, radio buttons, text boxes, check boxes and other web controls Automation Anywhere Web Recorder -> Man-age Web Controls allows capture of web controls and assign them variables.



Can Automation Anywhere automate web based processes? If yes, what type of websites can be automated?
Yes. Automation Anywhere can automate web based processes with its Web Automation capability. You can automate any website, even complex websites that use javascript, AJAX, Flash or iFrames.



Workflow Designer FAQs


What is Workflow Designer?
Workflow Designer allows you to create an easy to understand, intuitive graphical representation of a IT or a business processes. Auto-mation Anywhere Premier allows any user (Business or IT) to easily create end to end business workflows.



How do I use Workflow Designer?
Open Workflow Designer (Shortcut Ctrl+K). Drag-n-drop the objects from the toolkit to design an entire business process.

Workflow Designer provides four objects to design a Workflow:
Start
Run Task
Condition (IF)
End

How do I run workflows?
Running a workflow is very easy. Just click on the Run button in the Workflow Designer. The other option is to click on the workflow in 'MyWorkflow' file in the Task List and click Run.
On running the workflow through the Workflow Designer, it highlights the part of the workflow that is being carried out. Once, the work-flow has completed running, it highlights the complete path taken.



Other FAQs



I recorded a task that opens a program from Start Menu > Programs and while running the task, the menu to open that program has moved. It clicks on a wrong program name and hence opens a wrong program. Do I need to re-record the task?
No, the SMART Automation Technology built into Automation Anywhere provides a powerful feature that lets you use your original task. You can check an option from Tools > Options >'Move Icons/Menus' . After selecting this option when you run a task it opens the same program that was opened while recording even if the menus have moved.



Will my task run correctly even if files, program shortcut icons in the Quick Launch and the Desktop have moved?

Apart from a few exceptions, opening of most of the files and shortcut icons from both Quick Launch and Desktop will run correctly if the icons have moved from their original location. Note that, the 'Move Icons/Menus' should be checked in Tools > Options menu for this feature to be enabled.



Can I get the snapshot and/or log data into file when error occurs?

Yes, Automation Anywhere Premier has advanced error handling capabilities. You can select action like Continue or Stop Task. You can specify error handling options like Take Snapshot, Run Task, Log data into file, Send Email and Variable Assignment.



Can I execute DOS commands on remote terminal?

Yes, using Terminal Emulator command you can perform such activities. Terminal service must be on at the remote side and policy ser-vice must be set to classic. You can upload any file on FTP, Start/Stop services and execute DOS commands on remote terminal.



My scheduled tasks do not run?
If your scheduled tasks don't run, follow the simple checklist to fix the problem.

Ensure that you have provided the username/password: For security reasons Windows XP requires your Windows XP username & password to run scheduled task. For more information on what to do if you don't have password read Why username/password? On any other Windows operating system, if your account requires a password to log on, then you need to provide that password while scheduling the task, otherwise you don't need to provide a password.

If you have multiple account ensure that you have provided the correct username/password: If you have multiple accounts on same computer like one domain account and one local account, please make sure the username that you have provided is the same username you have used to login to the computer. The tasks will not work if you scheduled the task using one user Account and now you are logged into another user Account. Automation Anywhere automatically fills the username that you are logged in as.


Check Status in Control Panel->Scheduled Tasks window: Please go to Control Panel->Scheduled Tasks window. Select the task that corresponds to your task (it start with your task name) and right-click and select 'Run'. See if it runs. If it does not run please see what the 'Status' column shows.

Schedule Calculator Application: If your task still doesn't run go to Control Panel->Scheduled Tasks. Click on Add Scheduled Task. From the list of applications, please select Calculator as shown below. If the calculator does not run then your scheduler service is not installed correctly on your computer.




My task is big. How do I test only a few commands in the task?

Select the command that you do not want to run. Right-click and select 'Disable'. Save the task and run it. while running the task it will not run the commands that are disabled. To enable the commands again right-click and select 'Enable'.



I want to copy a command and use it at many places. Do I need to create the command every time?

No. You can use the 'Duplicate' function by Right click on command and select 'Duplicate'. This command Duplicates the currently selected command. You can then just drag the newly created command using mouse.



I have created a keystroke that contains complex sequence of keys that I use repeatedly in many of my tasks. Do I need to copy the Keystroke every time I need to create a new task?

No. You can right click on that Keystroke and click on 'Convert To Variable'. You can then save the keystroke as a variable.



I have recorded a task that can be repeated as it is; only one text has to be replaced every time. I need to enter this text while running. How do I do that in your automation software?

       Open the Task in the Editor

       Right click on the Keystroke which you have to enter every time.

       Click on the "Convert to Prompt" in the pop-up menu.

       Enter the message that should be displayed which running.

       Save the task.

       While running, a dialog box will appear that will ask you to input the text that you wanted to enter.

       Once you click ok then entered text will be typed.


Can I edit multiple commands at the same time? Is it possible to replace window title in all commands?

Yes. Bulk Edit is available for commands like keystrokes and delay. Select multiple commands of keystrokes or delay and right click on it. Select'Bulk Edit' option; specify the new details for the selected commands.

To replace the window title, select any command that has a window in it; right click and select 'Change Window Title' option. You can replace particular command's window title or you can change all commands windows title in a task.


What happens to a triggered or scheduled task if a high priority task is already running?
In the above case currently running high priority task will continue and all other task will be in queue.
Automation Anywhere features advanced task-queuing technology. This technology ensures that every task will complete based on its priority, regardless of how many other tasks interrupt the running task.


The order of execution is decided by the priority (high, medium and low). If two tasks in a queue have the same priority, the pre-cedence is decided by the category (triggered, scheduled and manual) of the tasks. Thus, if the two tasks have the same priority, a triggered task has higher precedence, followed by scheduled tasks, then manual tasks.


Can I use Automation Anywhere as a macro recorder?
Automation Anywhere can be used as an intelligent keyboard macro recorder and mouse macro recorder that allows you to easily cre-ate, edit and run macros.Automate keystrokes and save thousands of clicks to automate repetitive tasks.



Can I use Automation Anywhere to integrate Excel commands with other applications?
Automation Anywhere has an advanced Excel integration and Excel automation feature. Automation Anywhere allows automation of data transfer between Excel and any web or windows based application like Salesforce, SAP, Access, SQL, etc.


How does Automation Anywhere carry out database automation?

Automation Anywhere works with any SQL databases like Oracle, MS SQL, Sybase, etc. to transfer, maintain or update databases. Automation Anywhere's database automation solution can take data from various databases, web and in-house applications, collate them and generate reports.