× 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.


  • Subject: Re: Number Only Fields
  • From: "Jason M. Felice" <jasonf@xxxxxxxxxxxxxxxx>
  • Date: Tue, 4 Jan 2000 19:19:00 -0500

Okay, Client Access behaves in the same manner.  Here's the problem:

Behavior according to IBM CA/MochaSoft 5250/Synapse WinAPPC:
(I've just tested, and it happens on a 'Memorex Telex' dumb terminal as well)
- Digits in number-only field are not right-justified when Field Exit is
  pressed.
- Field- causes the last byte of the field to be changed to a '}', which is
  the same as an EBCDIC '0' which has been zone-shifted to indicate that the
  field is negative.  This causes blank space in the middle of the field.
- Manually right-justifying field, then pressing Field- on the last digit
  causes the last digit to be replaced with '}', regardless of what the last
  digit might have been prior.   In other words, '     1234' then pressing
  Field- results in '     123}', which *should* mean -1230.
- Entering '1234     '  and pressing Field- causes a local error when you press
  Enter, (invalid digits or number of decimals or some such).  That's because
  the field looks like this:  '1234    }'.  You can only enter digits right-
  flush with the signed digit.  Like this '     1234}'.

Behavior according to our 5250 emulator:
- Digits in number-only field are right-justified when Field Exit, Field+ or
  Field- is keyed.
- After that, if the key was Field-, we shift the last digit of the field if
  and only if that digit is a numeric digit (it could technically be one of
  ",", ".", blank, or NUL, or the shifted digit from a previously keyed and
  Field-'d value).
- After that, if the key was Field+, we 'unshift' the last digit - if it was
  just Field Exit, we do not touch the last digit.  (Since Field Exit clears
  the rest of the field before right-justifying the value, as do Field- and
  Field+, Field Exit will work like Field+ 95% of the time - they behave
  differently for 'signed-numeric' fields.)
- Manually right-justifying the field has no affect on the result of the
  operation.

... and the biggie ...

- AS/400 complains loudly when we try to transmit the data in the field as-is.

Behavior according to the specs (pretty close to our behavior):
(This is from memory, as I don't have the spec on me at the moment)
- The spec does not specify whether number-only fields should be right-
  justified when Field-, Field+, or Field Exit is pressed.  It does specify
  that signed-numeric fields should be right-justified.
- The spec claims that the last position of the field should be zone-shifted
  *if it is a numeric digit*.  It is clearly against the spec for IBM CA to
  replace the last position with a '}' when the last position is a NUL.
- The spec does not state that Field+ should unshift the last digit.

- The spec does not note any difference in the way number-only fields should
  be transmitted as opposed to other fields.  The spec *does* note that the
  last digit (the sign position) of *signed-number* fields should be truncated
  and the second-to-last digit should be shifted.  In effect, we are 
  transmitting number-only fields in the *exact* same format as signed-number
  fields, just that we perform the sign translation on the screen for
  number-only fields and perform it during transmit for signed-number fields.

My conclusion:
- The spec is wrong.  We should emulate CA and the dumb terminal and put a '}'
  at the last position of the field on Field-, regardless of what the field
  contains.  We should probably just transmit the field like that as well.
- We should still right-justify the digits, even though no-one else does.
  Otherwise, entering negative numbers is awkward (you have to count how many
  positions the number is, cursor over, and enter it right-flush, then press
  Field-)

Any objections, particularly from users?  Does this all seem correct, oh mister
bug-submitter (I've forgotten who that was - Sean, maybe?)

-Jay 'Eraserhead' Felice

And that concludes my list spamming for today ;)
+---
| This is the LINUX5250 Mailing List!
| To submit a new message, send your mail to LINUX5250@midrange.com.
| To subscribe to this list send email to LINUX5250-SUB@midrange.com.
| To unsubscribe from this list send email to LINUX5250-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


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.