× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Ben,

>unfortunately I still couldn't
> get past the fact that the TAB key or cursor keys will not trigger the
> workstation to release control back to the program.  

This is by design in the 5250 data stream -- you need an"Attention ID"
(AID) generating key to signal the WS controller to tell the program
the workstation needs "attention".  AID generating keys are things
like Enter, F1-F24, page up/down, and a couple of others.  It does NOT
include the tab key, since that is handled locally by the WS
controller.  This is a primary reason wy you can get such good
performance from a relatively lower power CPU compared to the number
of concurrent interactive users.

On a PC or client/server environment, you can have the client devote
resources to monitoring each keystroke and taking some action.  In a
traditional 5250 environment, the cpu is removed from that process and
your program goes into a wait state until an AID key is pressed.

If you are using real workstations, there isn't going to be an
efficient circumvention (though there is a terribly inefficient one).

If you are using emulators which support some of IBM's APIs, then you
can have a PC program which monitors the emulation session(s) and
reacts at the keyboard level.  This would only work on compliant
emulators, and not necessarily all 5250 telnet clients.

If you really want to have this capability, this is the only route I'd
suggest as it leaves the 400 out of needing to poll for changes.

If you really want to make this work on any dumb WS or telnet client,
then you can accomplish it using Dynamic Screen Manager APIs to get
the current cursor position.

That part is pretty simple -- the complication comes in the fact you
have no way to efficiently poll that process.  So you in essense need
a tight loop (or loop with a subsecond delay) to continually use DSM
to check the cursor position, then when you want the text to change,
to use DSM to write text directly onto a portion of the screen.

However, there is no way (that I know of) to only have a process which
checks on each keystroke.  So you end up with a CPU intenstive task to
poll the cursor position.  Not something I'd recommend in a normal
production environment.

Doug



I've also tried the
> data queue method and waiting until input arrives,  but it also appears to
> only respond to the Enter key or a function key (same as the READ).  If
> only I could get the CSRLOC returned without having to a READ somehow, then
> I think I could do it.
> 
> Ben Pforsich
> Programmer Analyst
> Bob Evans Farms, Inc.
> I/S Department
> Columbus, Ohio
> Ben_Pforsich@xxxxxxxxxxxx
> 
> 
> 
> 
> 
>              "Shannon
>              ODonnell"
>              <sodonnell@janoju                                          To
>              stice.com>                "'RPG programming on the AS400 /
>              Sent by:                  iSeries'" <rpg400-l@xxxxxxxxxxxx>
>              rpg400-l-bounces@                                          cc
>              midrange.com
>                                                                    Subject
>                                        RE: Display file help text without
>              06/16/2005 09:57          hitting F1/HELP?
>              AM
> 
> 
>              Please respond to
>               RPG programming
>               on the AS400 /
>                   iSeries
>              <rpg400-l@midrang
>                   e.com>
> 
> 
> 
> 
> 
> 
> How about using the Invite keyword on your DDS along with the CSRLOC
> keyword
> and a READ and a WRITE to the display format (rather than EXFMT) so that
> your program can continuously poll the keyboard to see when the user does
> something.  You can then use CSRLOC to tell where the cursor is, and, if
> it's within some predefined range (where your fields are), you send a
> message to a message subfile on the display file displaying the help text
> for that field?
> 
> 
> 
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
> On Behalf Of Ben_Pforsich@xxxxxxxxxxxx
> Sent: Thursday, June 16, 2005 7:38 AM
> To: rpg400-l@xxxxxxxxxxxx
> Subject: Display file help text without hitting F1/HELP?
> 
> I was wondering if this would be possible...
> 
> I would like to show a line of help text depending on which field the
> cursor is located on the screen (analogous to a "tool tip" in Windows
> world).  All you simply do is press TAB to move from field to field and the
> help text changes automatically.  I'm thinking I'd have to use UDDS or
> something in the display file and read/write directly against the
> workstation--something which I'm not familar at all with.  Is there any
> simple way to do this?
> 
> Thanks,
> 
> Ben Pforsich
> Programmer Analyst
> Bob Evans Farms, Inc.
> I/S Department
> Columbus, Ohio
> 
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
> 
> 
> 
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
> 
> 
> 
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
> 
>


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.