
"Tab order" for fields in COBOL/CICS program?
Quote:
>Begging the group's foregiveness in case my post is too far afield,
>I'd like to ask whether anyone familiar with CICS can help me solve
>the following problem.
>How do I modify the "tab order" for map fields in CICS? That is,
>when I hit the tab key, the cursor moves from field to field in a
>given order. I've represented that order below by adding numbers
>in parens.:
>Name: (1) ID NUM: (2)
>Addr: (3) PIN NO: (4)
>City: (5) CREDIT: (6)
>What I would rather have is:
>Name: (1) ID NUM: (4)
>Addr: (2) PIN NO: (5)
>City: (3) CREDIT: (6)
>I seem to recall that CICS takes rows over columns? I have only
>one book on CICS at home this weekend (silent on the subject, of
>course) . . . so I'm hoping someone can point me in the right
>direction.
>Thanks much.
>JS
>PS -- I watch the group regularly, so this is not one of those
>"please e-mail the response" . . . but, since this might be too
>far afield to be of interest to the group, e-mail is cool by me.
I doubt there is any way to get what you want in CICS. CICS relies on
3270 datastream when talking to a BMS map. The fields on the screen are
defined with length, attribute byte, and data contents. Data that has
not changed is not transmitted back and forth (but you can force it to be
transmitted by setting the Modified Data Tag on in the attribute byte).
3270 datastream assumes that the map is an array of bytes. The real
problem is that, in a 3270 device, the tab key is NOT an
attention-interrupt key. The tabbing actually occurs on the terminal,
and is never transmitted to the host! You have to press an
attention-interrupt key (DFHENTER, PA1, PA2, any PFkey) in order to
initiate a transmission to the host. At that time the entire screen is
transmitted, including current cursor position. But if you just press
the "tab" key, the cursor is moved at the local terminal and NOTHING is
sent to the host.
My experience with CICS BMS map programming is not as extensive as
non-screen CICS programming. Maybe someone else knows a solution, but my
experience suggests that there is no way to alter the tabbing sequence.
I wish this was better news for you.
Arnold Trembley
Software Engineer I (just a job title, still a programmer)
MasterCard International
St. Louis, Missouri