Martin

Thanks to you we now know that, when the substituted text has fewer 
characters than the system symbol, the length of the text string is reduced 
and there is no substitution with blanks, for example. This is in sharp 
contrast 
to the variables defined with the aid of the "@" character where left-
justification and padding to the right with blanks is the unvarying rule!

Thanks to Scott Rowe we now know that the substituted text cannot have 
more characters than the system symbol. This is not allowed and would be 
detected at the time of definition.

It was always a liberation provided by the BUFFER operand of the USSMSG 
macro that a systems programmer could indulge in his or her skill with the 
3270 data stream.[1] Thus, as you say, it is possible to compensate for the 
variability[2] of text length by positioning individual elements of text by use 
of 
the 3270 data stream set buffer address (SBA) order.

My experience with creating particularly USS message 10 is that the SBA order 
should be used routinely when the message is subject to SSCPFM=USS3270 
(or USS3275) in order to position the text on the so-called "presentation 
space". With such an approach, any shrinkage should not be a problem.

> If your USS message contains SBA orders, and the address happens to end 
in X'7C', such as such as X'11C17C' for row 2 column 45 on an 80-character 
wide screen, and the following characters happen to match one of the allowed 
keywords, what happens? Likewise, what happens when the SBA happens to 
end in X'50'?

For those not having an EBCDIC table to hand, X'7C' is "@" and X'50' is "&". I 
had to rely on recalling that the SNA Formats manual had the "SNA Character 
Sets and Encodings" section tucked away at the end of the manual.

Actually, of the two cases, the "@" case is the one less likely to cause 
problems. Only @HOSTNET just might be a problem - for a company or a 
program that just happens to be called "HOSTNET" perhaps!

I agree that system symbols always requiring just one "&" "introducing 
character" - and with the possibility of any 8-character string not already in 
use being available to system programmers as an user-defined system symbol -
 are liable to fall foul of being found as the last character of an SBA order 
sequence and also an attribute byte following a Start Field (SF) order[3] and 
join up with whatever text happens to follow so that they are 
literally "misinterpreted".

This puts me in mind of a similar problem of "working as designed but not 
necessarily as intended" in the case of the "blank suppression" feature of USS 
messages. "Blank suppression" is not used when the BUFFER operand is used 
to define the message and so does not apply to SBA order sequences in a 
message defined with the BUFFER operand. I must have been using the 3270 
data stream in a message defined with the TEXT operand. I was also 
positioning probably an attribute byte in the first position of the 
presentation 
space and so my SBA order address was X'4040'. When I threw up my hands 
in disgust at what appeared on the display fortunately I had a VTAM 
development colleague who pointed out that the OPT=BLKSUP|NOBLKSUP 
operand existed and that OPT=BLKSUP - for "terminal" USS messages - was 
the default.

In order to complete this post, I decided to undertake a close comparison of 
what was stated about the "@" variables in the two manuals purporting to 
describe the same topic.

There was something of a curiosity in the @....@zoneid variable. It is fully 
defined in the SNA manual but is clearly an IP entity. It is, however, 
described 
as being replaced by blanks in the IP manual![4]

There is also something of a disagreement over the @....@ipadd - or should it 
be @....@ipaddr - variable. Crossed wires and twisted undergarments seem to 
be the order of the day! - and that's before I start on the convoluted way the 
IP manual goes about the detailed descriptions - so I won't!!!

A final point is that the IP manual is not explicit as the SNA manual is about 
the role of the @@@@RUNAME and @@@SENSE variables. However, since 
MSG07|NOMSG07 are used to control an aspect of the TN3270 server 
processing, we are obliged to assume - not what descriptions in manuals are 
supposed to require! - that these two variables are handled in a manner 
equivalent to their role in the VTAM implementation.

Chris Mason

[1] In fact this was also possible with the TEXT operand but was very messy -
 not impossibly messy! - to code and could give rise to assembler error 
messages involving the number 255 - IIRC - which could safely be ignored. I 
think the reason I wanted to have fancy 3270 formatting with the TEXT 
operand was that there was a time when the USS message 7 variables were 
available only with the TEXT operand.

[2] Not oblivious to the pun so introduced!

[3] The RA order is not a problem since the sequence involves specifying the 
repeated character. Well, it's a problem if you don't wake up to what you are 
doing and use a "@" or "&" character as your, say, "box" characters. EUA is an 
unlikely order to be using in an USS message - although there's no accounting 
for ingenuity! For example, if you were to dismiss the attribute byte because 
it 
required the "modified data tag" bit to be set and you wouldn't expect that bit 
to have any use with an USS message, I would have to disagree since I have 
used it to great effect.

Incidentally, I have not considered cases involving other than the basic data 
stream since I made it a rule to limit my USS messages in such a way that 
they would be valid for any 3270 "device". Particularly today, others may not 
feel it necessary so to limit their endeavours.

[4] It's interesting to speculate on the possibility that the @....@zoneid is 
present in order to support one of the fields that can be carried in Control 
Vector 64 and so might apply to configurations involving a TN3270 server 
other than the z/OS Communications Server TN3270 server. For reference the 
CV64 subfields are as follows together with the relevant variable names:

X'81' IP address subfield (always present) - @....@ipadd
X'82' Application port number subfield (always present) - @@PRT
X'85' IP host name subfield (optionally present) - @....@iphostname
X'86' IP address scope zone identifier (optionally present) - @....@zoneid

On Mon, 27 Jul 2009 13:58:39 -0500, Martin Kline <[email protected]> 
wrote:

>My test showed system symbols were replaced by removing or adding
>characters as necessary. (Because I can't remember exactly how to get
>ampersands to diplay correctly on the list server and I'm too lazy to look it 
up,
>my examples will use pound signs, '#', instead).
>
>For example '---#SYSNAME---' is displayed as '---SYS1---'. At least on the
>1.9 release I have installed. This does NOT display as '---SYS1    ---'.
>
>My advice is if you depend on exact positioning for the other characters on
>the screen such as drawing a box around your data, or drawing a pic of a
>dinosaur (like I do), then use SBA orders to position the trailing data 
correctly.
>
>As Chris indicated, the other non-system symbols that can be replaced do
>specify what happens with alignment, spaces, numerics, etc. The issue is 
with
>the system symbols, because the names of the variables may be either longer
>or shorter than the values that get substituted.
>
>Bonus question:
>
>If your USS message contains SBA orders, and the address happens to end in
>X'7C', such as such as X'11C17C' for row 2 column 45 on an 80-character 
wide
>screen, and the following characters happen to match one of the allowed
>keywords, what happens? Likewise, what happens when the SBA happens to
>end in X'50'?
>
>
>Chris said:
>>I too would be interested in testing mainly because the manner in which the
>>MVS system symbol is inserted totally absent from the description, a
>>deficiency on a par with the botched way in which this new function has
>>been described.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to