Action on pressing "Tab" or "Up"/"D
Select messages from
# through # FAQ
[/[Print]\]

MVSFORUMS.com -> CICS and Middleware

#1: Action on pressing "Tab" or "Up"/"D Author: cobcurious PostPosted: Fri Oct 16, 2009 4:14 am
    —
Hi,

Is it possible for us to perform some action when the user presses a "Tab" or "Up" or "Down" key while navigating from one field to another on a CICS screen?

If yes, please let me know how can we do it?

Thanks in advance.

- Cobcurious

#2:  Author: kolusuLocation: San Jose PostPosted: Fri Oct 16, 2009 8:01 am
    —
cobcurious,

AFAIK , NO you cannot . Tab/Up/Down/Insert/Delete/Shift/Left Arrow/Right Arrow.. do not send the control to the host, where as Enter/PF keys/Attention... Keys information is sent to the host.

when you press the tab key the local buffer is edited and the terminal/emulator function is taken. The mainframe does not even know about these key strokes.

Kolusu

#3:  Author: cobcurious PostPosted: Sat Oct 17, 2009 4:40 am
    —
Hi Kolusu,

Thanks for your reply.

Is it then possible to have some mapping done between the attention keys and tab key....which could serve the purpose?

I apologize that I do not know how these attention keys work...but just taking a guess here.

Rolling Eyes

#4:  Author: semigeezerLocation: Atlantis PostPosted: Sat Oct 17, 2009 4:59 pm
    —
You might be able to do this, but you probably wouldn't want to...

I know -- I hate posts that tell me what I do and don't want to do also, so here is why.

A 3270 terminal is a block mode terminal which means that the data all gets sent to the host as a block of data when you hit an attention interrupt key (called an AID key) such as enter, a PF1-PF24, and PA1-PA3.

If you assign tab to be PFn or PAn then you will be pressing that AID key each time you press the tab key (obviously). One can't assign keys on a per-screen basis because the emulator does not know about the screens (*). Also there are almost always functions already assigned to the PF keys and conventions for what the PA keys do. For example, in ISPF (not CICS) PA1 usually acts like the 'break' key on a PC and interrupts the running program. PA2 refreshes the screen and PA3 is ignored. I don't know CICS well enough to know what the conventions are, but I suspect there are some, at least within the applications you might use.
Anyway, the reason you don't want to blindly assign tab to a PF or PA key is that you risk sending inappropriate signals to programs. So for something as innocent as pressing the tab key, you could cause your program to be terminated by mistake or send wrong data to it.

If this is for a user interface on a program (not your personal use), you might want to consider one of the programs that puts a real web front end on CICS programs. The one that I've used is IBM's Host Access Transformation Services though there are several alternatives (disclaimer: years ago I used to be a developer on HATS - but minor stuff - I can't answer detailed questions on it).

* I can envision where you could write an emulator program that would read the screens and intercept keys using EHLLAPI, but that is definitely more trouble than it is worth and I'm not sure it would work anyway.

#5:  Author: cobcurious PostPosted: Sun Oct 18, 2009 5:35 am
    —
Hi semigeezer,

Thanks so much for your reply. It is really informative..especially options like HATS.

I realize that mapping the TAB key to PA key seems to be more troublesome than be of any use. I think we can close this thread here and let me think about some alternate approaches for my problem.

#6:  Author: warp5Location: Germany PostPosted: Mon Oct 19, 2009 1:49 am
    —
Why don't you post what you are looking for, maybe there is an answer for it, but maybe you want to do something that can not be done.



MVSFORUMS.com -> CICS and Middleware


output generated using printer-friendly topic mod. All times are GMT - 5 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group