Adding a mainframe application to a robotic solution
|Description||Describes how to add a mainframe application to a robotic automation solution.|
|Version as of||19.1|
|Application||Robotic Process Automation|
|Capability/Industry Area||Robotic Automation|
Automating a mainframe application
When you add a mainframe application to your robotic automation solution, there are several points to consider.
First, understand that the robot interacts with the mainframe system using HLLAPI-compliant emulators. There are numerous HLLAPI-compliant emulators on the market, such as Rumba, Attachmate, and BlueZone. For more information, see Text application integration.
You also need to understand how to control how the emulator starts and stops itself. To handle the emulator in the solution, use two adapters. Use a Windows adapter to start or stop the emulator and to know when the emulator is available to be used. Once you start the emulator and it is available, launch the Text adapter. The Text adapter connects to the emulator using the HLLAPI shortname.
The Text adapter is the interface that you use to interact with the mainframe functions like setting, reading, or navigating the mainframe application.
For more information, see How to configure and interrogate a text adapter.
Controlling the adapters
One of the issues many developers have is controlling the stopping of the two adapters. First, you must stop the Text adapter, allowing it to disconnect from the emulator before stopping the windows adapter and shutting down the actual emulator. If done incorrectly, the Text adapter can get into a bad state and not restart or connect to the emulator correctly. Controlling the stopping is easy if done through the automation; however, the difficulty comes when a user clicks the X on the emulator window. To handle this case, you must catch the emulator's stopping, stop the Text adapter, and then allow the emulator to close. The following illustration is an example of this type of automation:
A couple of key points:
- Ensure the IsStopping variable to be global, so that is lives through the life time of the project.
- Set the event link from the isStopping variable to the text adapter isRunning and check Asynchronous. This allows the IsStopping variable to be changed to False before the adapter property is checked.