Possible to “attach to” mainframe terminal?


#1

Is it possible to “attach to” an already open mainframe terminal, similar to how we attach to an open web browser, and then start entering mainframe transactions, or must we always start by opening the terminal and signing in, etc?

Using Rocket BlueZone, if that matters.


#2

Have you tried using the “Attach Window” activity? I haven’t tried this with Rocket BlueZone specifically but this allows you to attach to most windows.


#3

Thanks. That was floating around in my mind… but haven’t tried it yet. I was thinking maybe there is some kind of magical glue in a Terminal Session that can’t be broken. Going to try it now.


#4

Nope. That doesn’t work. After attaching and trying some activities, I get an error “terminal not connected”


#5

Hello, so you are saying your terminal will be already opened and logged in? Yes it is possible and you can use, as it is one way to approach it, reading the screen and working with string manipulation.


#6

Yeah I know we could visually scrape something… but we need very robust & fast full capabilities for data input of many records. I wouldn’t want to introduce a scraping layer into this. Need direct interaction with the terminal window.


#7

as of now , and i was using as400 I was able to use it wiithout logging. I know scrapping sounds like a last resource, but im not saying image scrapping, and I deployed liked 250 machines with scrapping with 99.99 percent of success. let me know


#8

What specifically does “reading the screen” mean, then? Which activity?

From what I can see… any activity that can be used to read text on the terminal must exist inside a “terminal session” activity, which will force a new mainframe window to open, which of course requires a login.


#9

Hello.

I ran into this issue the other day while streamlining our terminal components, mainly being able to access the text and perform actions on the screen in order to close out of the screens and window so a new terminal connection can be made.

There was no way to attach a terminal connection to an already opened window. However, you should be able to create a new terminal connection and pass the connection variable to other Terminal Session activities.

So my answer is for if the terminal window is opened prior to the job running, which then you will need to use some workarounds to close the window (assuming you can’t just hard kill the window).

Basically, I used a combination of the below:

Element Exists // to check if an instance of the terminal window is opened
Text Exists // to verify you are on a specific screen in the terminal window
Sent Hotkey // to perform navigation of the screens
Type Into // to perform actions on the screen
and Close Window

I placed all this in a Retry Scope, so I can close all terminal instances that are opened. Once there are no instances, then the job will be able to start a new Terminal connection.

This might not be the ideal solution, but this was just some input based on my prior experience.

And, like I said, if your job starts a new Terminal Connection you should be able to pass its output variable to other Terminal Session activities; it works fine for me.

Regards.


#10

Thanks for that.

I wasn’t really concerned about closing the existing terminal window since they don’t seem to interfere with a new session created by UiPath. We were primarily hoping that UiPath would always be able to just latch onto the user’s already open terminal to perform mass transactions without having to persist credentials nor force the user to type credentials each time the bot runs.

Since this doesn’t seem to be possible, we’re going to request a terminal “service account” that UiPath can use to login to a newly spawned terminal window any time it runs, regardless of who’s running the robot.


#11

Fair enough. My suggestion would be to have a different login id for the robot that runs so it can perform the transactions on a new connection each time you need to process them. Since there is no way to latch on to the existing terminal connection that was opened by the user, I’m not sure there is really a good workaround… because getting the text at certain coordinates would be difficult.

Hope you find the answer you need though. I’m not an expert enough to know for sure if you can configure your Session connection to latch on to the existing one or not.

Regards.