I agree, the wording in the IBM manual is not clear, and certainly not
correct English!

But I think the intent is that, as a special case, SBA to (1,0) is
allowed if the immediately following order is an SF (Start Field).
This allows a field to start in row 1 column 1 without an attribute
char taking up a position on the screen. Otherwise position (1,1)
would be the attribute char (displays as blank), and the actual field
would have to start in row 1 column 2. Seems to be a useful feature.
But I guess not very many AS/400 programs use it. [In the 3270 world,
the equivalent is an attribute char in (24,80), since 3270 allows
fields to wrap back to the start of the screen. 5250 does not allow

In my case, I was able to program around it on the server side. But
some tn5250 clients (e.g. Mochasoft, Hummingbird, and some IBM
clients) seem to allow SBA to (1,0), or at least they ignore the SBA
and the immediately following SF and use an implied attribute char of
0x20 (normal, green, non-input field) for text that starts in (1,1).
So it would be nice if the open-source tn5250 did something similar.

- Dave Edwards

----- Original Message ----- 
From: "Scott Klement"
To: "Linux 5250 Development Project" <linux5250@xxxxxxxxxxxx>
Sent: Monday, July 03, 2006 17:09
Subject: Re: [LINUX5250] tn5250 problem on Win32: SBA order to row 1
column 0 fails


Here's what I find in the IBM manual:

    "The row is equal to 1 and the column address is equal to 0,
     by an SF field starting in row 1, column 1. Any other use of 0
in row
     or column address results in a parameter error."

I've read that paragraph 5 or 6 times now, and I have no idea what
means.  Is this saying that SBA always has the same parameters, 1
and 0?
And that it's always followed by an SF order?

Or... what is that paragraph trying to tell me? Specifically, why
would a
server send an SBA with row 1, column 0?  What does it do?

ALSO, despite the subject line, this error has nothing to do with
If the SBA handling is wrong, it's wrong in any client using lib5250
any platform.

Here's the relevant code in lib5250 (session.c):


We clearly don't allow X or Y to ever be 0.  I hesistate to change
code without having any idea what the ramifications are.  I need to
understand why a host would try to set the buffer address to a
that's not on the screen!

This thread ...


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

This mailing list archive is Copyright 1997-2020 by 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].