|
Dan, There are more subtle differences between terminals and terminal emulations. What's worse is that Client Access' behaviour varies from release to release and even from service pack to service pack (I never install service packs without the option to remove it). I'll do some tests tomorrow (we have IBM InfoWindow terminals). Joep Beckeringh > -----Oorspronkelijk bericht----- > Van: rpg400-l-admin@midrange.com > [mailto:rpg400-l-admin@midrange.com] Namens Dan Bale > Verzonden: maandag 29 juli 2002 18:30 > Aan: RPG400-L@midrange.com > Onderwerp: problem with RTNCSRLOC and DSPATR(RZ ER) in RPG program > > > I have a perplexing problem with a display file and an RPG-IV > program. I am > retrieving the cursor location via: > > RTNCSRLOC( &RCL_RECORD &RCL_FIELD + > &RCL_POSITN ) > > Based on special user requirements, the program must detect > when Field Exit > is pressed while the cursor is in a particular field (so that > a protected > field becomes unprotected under certain conditions and the > cursor is placed > on it instead of the next field). The particular field is > defined in the > display file with "DSPATR(RZ ER)". Because Field Exit cannot be > distinguished in an RPG program from a normal Enter key, I > used logic that > basically said ... > > If AIDbyte = EnterKey and > &RCL_Field = 'AAORD#' and > &RCL_Positn = %Size( AAORD# ) > > ... to do my magic. Essentially, if the cursor was found to be on the > rightmost position of the field, I was assuming that Field > Exit was pressed. > This is a 9-character field for which they will never enter > more than 7 > characters beginning at position 1 of the field (hence, > requiring Field Exit > under normal circumstances). > > This logic was working well through two weeks of development > and testing. > Moved it to the customer's system and, bang, the protected > field becomes > unprotected as designed, but the cursor jumps ahead of that > field to the > next field. Through testing, it was determined that my > Client Access V3R2 > (service packed to the max) client would "push" the cursor to the last > position of the field when Field Exit was pressed in a "DSPATR(RZ ER)" > field, while the dumb terminal at the customer's location > (and our location > too), as well as another emulation client, the cursor is "left" at the > position it was at when Field Exit was pressed, thus the program > "determines" that the Field Exit key was not pressed. > > As I'm reading through my therapeutic post, I'm beginning to > realize that I > may well be up a creek with this. After all, the dumb > terminal sets the > standard for the behavior of this type of thing. (Even > though the dumb > terminal I tried it on was a Wyse, what's important is that > behaves the same > way at the customer site and nobody's replacing hardware for > my nifty piece > of logic to work.) However, if anyone's gotten this obscure > technique to > work like I'm trying to, I'd be more than happy to hear about it. > > - Dan Bale > (I am *NOT* "Dale" > http://archive.midrange.com/midrange-l/200105/msg00281.html )
As an Amazon Associate we earn from qualifying purchases.
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.